【发布时间】:2013-02-12 10:28:43
【问题描述】:
我想在 TextBox 控件的 SelectedText 或 SelectionStart 属性发生更改时引发事件。有没有什么不涉及从头开始编写自定义 TextBox 控件的简单方法?
显然,一种选择是让计时器检查这些属性的更改,但我不希望使用任何计时器。
到目前为止,我已经尝试创建一个从 TextBox 继承并覆盖 SelectedText 属性的控件,但是失败了。另外,SelectionStart 不能被覆盖。
是的,我知道 RichTextBox 控件具有 SelectionChanged 事件。但是,我需要一个普通的 TextBox,而不是 RichTextBox。
【问题讨论】:
-
stackoverflow.com/questions/647963/… 有这个..据我所知,这是唯一可行的方法
-
是的,我读到了,我对 RichTextBox 控件的主要问题是缺少精确的选择控件;它喜欢总是自动为我突出显示整个单词,即使 AutoWordSelection 属性设置为 false。 stackoverflow.com/questions/3678620/… 有一个解决方案,但我还是更喜欢使用普通的 TextBox。
-
您唯一的其他选择取决于您为什么需要使用它。您可以查看 DataBinding 并将 selectionlength 属性绑定到控件?
-
老实说,我一直在寻找更 KISS 风格的解决方案。所以真的没有办法在 TextBox 控件中实现等效的 SelectionChanged 事件吗?
-
我不知道抱歉,我不认为文本框足够聪明,除了使用其选择开始和长度之外,它们的选择不会做任何事情
标签: c# .net winforms events textbox