c#(winform)如何判读鼠标在选中的区域上

dingli321 2010-01-04 09:33:27
winform程序,有一个textbox,当在textbox中选中内容后我如何判断鼠标是否在选中的内容上面呢?
...全文
302 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
在鼠标的移动事件里写代码,我这里只写了单行文本的,多行的要麻烦一些


private void textBox1_MouseMove(object sender, MouseEventArgs e)
{

int start = textBox1.SelectionStart;
int length = textBox1.SelectionLength;
//获取选择字符串的矩形
Rectangle rect = new Rectangle();
rect.X = start * 6;//6是单个字符的宽度
rect.Y = 0;
rect.Width = length * 6;
rect.Height = 14;//14是单个字符的高度
//判断矩形是否包含鼠标坐标
if (rect.Contains(e.Location))
Console.WriteLine(rect + " " + i++);
}


试试,是你要的效果
  • 打赏
  • 举报
回复
貌似难,你得重写TextBox控件。
你可获取选中的内容,然后将该内容转变为一个基础控件,这样你才能捕获它。
dingli321 2010-01-04
  • 打赏
  • 举报
回复
textbox里有很多内容,有点被选中了,有的没选中,如何判断鼠标在选中的内容上面
xyz136299110 2010-01-04
  • 打赏
  • 举报
回复
Focus()或者Selected.lenght=0可以吧。。

111,120

社区成员

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

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

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