RichTextBox的Select(int begin,int length)问题,高手来指教下~

mykelly6 2008-11-27 02:49:46
我给RichTextBox设的值是"111@163.com,222@163.com,333@163.com,444@163.com,555@163.com,666@163.com"
这样的形式,然后我就希望在鼠标点击RichTextBox的时候能选中鼠标所在位置的邮件地址。
我感觉是要获得鼠标之前和之后的两个逗号的位置,但是具体怎么做就不知道了~

不知道说明白这个问题没有,希望大家指点一下
...全文
368 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
mykelly6 2008-12-01
  • 打赏
  • 举报
回复
揭帖加分了再看答案~
lizhengnan 2008-12-01
  • 打赏
  • 举报
回复

if (RichTextBox1.Text == "")
{
Return;
}

if (RichTextBox1.Text.Contains(",")==false)
{
RichTextBox1.SelectAll();
return;
}


int i =RichTextBox1.SelectionStart;
int m = i;
int n = i;
While (m > 0 && RichTextBox1.Text.Chars[m] != ",")
{
m--;
}

if (RichTextBox1.Text.Chars[m] == ",")
{ m += 1;}
While (n < RichTextBox1.Text.Length && RichTextBox1.Text.Chars[n] != ",")
{
n++;
}

RichTextBox1.Select(m, n - m);

lizhengnan 2008-12-01
  • 打赏
  • 举报
回复

Private Sub RichTextBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RichTextBox1.Click
If RichTextBox1.Text = "" Then
Exit Sub
End If

If Not RichTextBox1.Text.Contains(",") Then
RichTextBox1.SelectAll()
Exit Sub
End If

Dim i As Integer = RichTextBox1.SelectionStart
Dim m As Integer = i
Dim n As Integer = i
While m > 0 AndAlso RichTextBox1.Text.Chars(m) <> ","
m -= 1
End While
If RichTextBox1.Text.Chars(m) = "," Then
m += 1
End If
While n < RichTextBox1.Text.Length AndAlso RichTextBox1.Text.Chars(n) <> ","
n += 1
End While

Me.RichTextBox1.Select(m, n - m)
End Sub
特别 2008-12-01
  • 打赏
  • 举报
回复
凑合一下
       private void richTextBox1_Click( object sender, EventArgs e )
{
int start = -1; //开始位置
int end = -1; //结束位置

start = richTextBox1.Text.Substring( 0, richTextBox1.SelectionStart ).LastIndexOf( ',' );
end = richTextBox1.Text.Substring( richTextBox1.SelectionStart ).IndexOf( ',' );

if ( start == -1 )
{
start = 0;
}
else
{
start++; //取逗号后一个位置
}

if ( end == -1 )
{
end = richTextBox1.Text.Length;
}
else
{
end = end + richTextBox1.SelectionStart - 1; //取逗号前一个位置
}

//选择
richTextBox1.Select( start, end - start + 1 );
}
tianjinldl 2008-12-01
  • 打赏
  • 举报
回复
帮你顶下,我不会
mykelly6 2008-12-01
  • 打赏
  • 举报
回复
随便来个人让我揭帖吧!怨念了。。。
mykelly6 2008-11-28
  • 打赏
  • 举报
回复
没人会吗?那大家随便回几个,当散分了~
mykelly6 2008-11-27
  • 打赏
  • 举报
回复
谁来指点一下呢~

110,561

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧