代码之家  ›  专栏  ›  技术社区  ›  axk

如何在Winforms TextBox中突出显示以编程方式进行的选择

  •  5
  • axk  · 技术社区  · 17 年前

    我在这里没有做太多的研究,但直觉的东西不起作用:

    private void SerachButton1_Click(object sender, EventArgs e)
    {
       String serchTerm = searchTerm1.Text;
       String text = usualTextBox.Text;
    
    
       Int32 index = text.IndexOf(serchTerm);
    
       if (index >= 0)
       {
          usualTextBox.Select(index, serchTerm.Length);
       }
    }
    

    SelectedText , SelectionLength SelectionStart 房产和我预期的一样 Select 被调用,但没有可见的选择。

    我在这里做错了什么?

    Edit:我也试过了 RichTextBox 。当我为所选内容设置背景和文本颜色时,它会显示出来,但当您手动选择文本的另一部分或只是单击文本中的某个位置时,它不会自动取消选择。这两种选择是否本质上不同,如果你以编程方式选择,你也必须以编程方式取消选择?

    1 回复  |  直到 17 年前
        1
  •  8
  •   Jeff Yates    17 年前

    你需要设置 usualTextBox.HideSelection false 以便当焦点不在时,选择仍然可见 TextBox .