.net - 如何监视 winforms TextBox.SelectionStart 属性的更改?

标签 .net winforms textbox

我有一个多行文本框,我想在文本框下方的标签中显示用户当前的行号和列号。看起来我可以使用 SelectionStart 属性、GetLineFromCharIndex 方法和 GetFirstCharIndexOfCurrentLine 方法获取行号和列号。但是,我看不到每次文本框中的选择更改时都会触发的任何事件。

我能看到的最好的方法是监视 KeyPress 和 MouseDown 事件并在每个事件后检查 SelectionStart 属性。我想我可以使用计时器来观察变化,但这感觉很奇怪。

我错过了什么吗?

最佳答案

为了稳健,您可能需要添加一个计时器,并定期检查它; from here , 控件不会发布合适的 win32 消息 (EN_SELCHANGE) 来将此作为事件执行。

关于.net - 如何监视 winforms TextBox.SelectionStart 属性的更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/907828/

相关文章:

c# - 将括号添加到文本框值

c# - 将套接字句柄从 .NET 传递到非托 pipe 进程

c# - 从远程计算机简单绑定(bind)到 AD-LDS 失败

c# - 部署使用 LINQ to Entities 的应用程序

c# - 使用更改所有实例的静态字段来更改类的所有实例中的字段

c# - 在 ASP.NET 中使用复选框启用文本框?

.net - 检测文本框自动完成列表何时显示

.net - [程序名称].exe已停止工作

c# - 浏览注册表文件

c# - 如何将自定义属性和事件添加到控件,例如文本框或按钮