c# – 如何根据鼠标位置从文本框获取特定的文本值

c# – 如何根据鼠标位置从文本框获取特定的文本值,第1张

概述我有一个多行文本框,根据给定的数据显示一些值(通常每行一个值). (为了使工具提示d出一些“替代”数据),我想得到鼠标悬停的单词(或至少在行上),以便我可以找到显示的替代方法. 我有几个想法,如何做到这一点基于文本框和字体大小的计算,但我不会下去这条路,因为大小和字体可能会频繁更改. 所以…有没有办法使用鼠标位置来抓取特定的文本框文本? 这是一个替代解决方案.将此MouseMove事件添加到您的T 我有一个多行文本框,根据给定的数据显示一些值(通常每行一个值).

(为了使工具提示d出一些“替代”数据),我想得到鼠标悬停的单词(或至少在行上),以便我可以找到显示的替代方法.

我有几个想法,如何做到这一点基于文本框和字体大小的计算,但我不会下去这条路,因为大小和字体可能会频繁更改.

所以…有没有办法使用鼠标位置来抓取特定的文本框文本?

解决方法 这是一个替代解决方案.将此MouseMove事件添加到您的TextBox中:
private voID txtHoverWord_MouseMove(object sender,MouseEventArgs e){    if (!(sender is TextBox)) return;    var targetTextBox = sender as TextBox;    if(targetTextBox.TextLength < 1) return;    var currentTextIndex = targetTextBox.GetCharIndexFromposition(e.Location);    var wordRegex = new Regex(@"(\w+)");    var words = wordRegex.Matches(targetTextBox.Text);    if(words.Count < 1) return;    var currentWord = string.Empty;    for (var i = words.Count - 1; i >= 0; i--)    {        if (words[i].Index <= currentTextIndex)        {            currentWord = words[i].Value;            break;        }    }    if(currentWord == string.Empty) return;    tooltip.Settooltip(targetTextBox,currentWord);}
总结

以上是内存溢出为你收集整理的c# – 如何根据鼠标位置从文本框获取特定的文本值全部内容,希望文章能够帮你解决c# – 如何根据鼠标位置从文本框获取特定的文本值所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1258231.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存