我在应用程序上有一个RichTextBox控件,这就是我的问题:当应用程序运行时,如果我开始用鼠标选择一个单词中的一些字符并继续在它外面选择,则选择会自动包含我开始选择的整个单词如果我没有弄错的话,我想从中选择一个部分的任何其他单词,ms word-ish.
例如:
问题在于鼠标选择,如果我用键盘选择文本就可以了.此外,控件的自动字选择属性被关闭.知道为什么会这样吗?
Han*_*ant 15
AutoWordSelection属性实现中存在一个愚蠢的错误.解决方法同样愚蠢.在项目中添加一个新类并粘贴下面显示的代码.编译.将新控件从工具箱顶部拖放到表单上,替换现有RTB.
using System;
using System.Windows.Forms;
public class FixedRichTextBox : RichTextBox {
protected override void OnHandleCreated(EventArgs e) {
base.OnHandleCreated(e);
if (!base.AutoWordSelection) {
base.AutoWordSelection = true;
base.AutoWordSelection = false;
}
}
}
Run Code Online (Sandbox Code Playgroud)
我在此MSDN Library页面底部留下了一个注释,其中包含错误的详细信息.
小智 5
自从回答了这个问题以来,情况可能已经改变,但是我有一个更简单的解决方案:
只需添加richTextBox1.AutoWordSelection = false;到代码中即可。
听起来很疯狂,但是false在properties-box中将此设置为无效。即使该属性已经为false,也必须在代码中执行此操作。然后就可以了!
| 归档时间: |
|
| 查看次数: |
3292 次 |
| 最近记录: |