我正在用C编写一个Windows窗体应用程序,并创建一个RichTextBox(通过代码,而不是设计器)。我正在将autowordselection属性设置为false,但是当我突出显示框中的内容时,它仍然会跳到单词的边界,外加一个空格。这是.net的一个缺陷还是我做错了?

最佳答案

使用.net 3.5我仍然有这个问题。这是微软的报告,并在2005年被标记为“习惯性修复”。这是我能找到的关于这个问题的最新消息。
以下是MS Connect错误报告:
http://connect.microsoft.com/VisualStudio/feedback/details/115441/richtextboxs-autowordselection-property-does-not-work-correctly#details
下面是2010年的一篇关于另一个注意到这个问题的人的帖子:
http://sonicflare.net/2010/01/10/shipped-bug-feature/#more-192
—————————————————————————————————
我在表单的加载事件中添加了一个额外的autowordselection=false,从而使它起作用。

   public Form1()
    {
        InitializeComponent();
        rich = new RichTextBox();
        rich.Size = new Size(150, 50);
        rich.Text = "Ignoring a bug for five years does not make it a undocumented feature.";
        rich.Location = new Point(20, 20);
        rich.AutoWordSelection = false;
        this.Controls.Add(rich);
    }

private void Form1_Load(object sender, EventArgs e)
{
    this.BeginInvoke(new EventHandler(delegate
    {
        rich.AutoWordSelection = false;
    }));
}

08-28 07:04