我有一个应用程序RichTextBox控件,这里是我的问题:应用程序运行时,如果我开始用鼠标选择一些字符的字内,继续外面选择,选择自动包括全词中,我开始选择和任何其他的文字说明我要选择只是一个部分,微软Word十岁上下,如果我没有记错。
例如:
- 文字是:“又一个foobar的”
- 我要选择的是:“只要ANO [疗法FOO]巴”(即在[]之间的事情)
- 什么是真正选择:“只要[另一FOOBAR]”
问题是,只是鼠标选择,如果我选择用键盘文本它工作得很好。 此外,控制的自动字选择属性关闭。 任何想法,这是为什么?
有一个在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;
}
}
}
我在这个底部留下注释MSDN Library页面与错误的详细信息。
也许事情已经改变,因为这个问题得到回答,但我有一个更简单的解决方案:
只需添加richTextBox1.AutoWordSelection = false;
该代码。
听起来很疯狂,但这种设置为false
的属性框不起作用。 你必须做的代码,即使财产已经是假的。 然后,它的工作原理!