代码之家  ›  专栏  ›  技术社区  ›  Alison Craig

C#双击时如何选择文本框中的所有文本?

  •  8
  • Alison Craig  · 技术社区  · 14 年前

    使用C#双击时如何选择文本框中的所有文本?我的文本包含空格“这是一个测试”,当我双击默认情况下只有一个单词被突出显示时,如何突出显示所有文本?

    我试图实现的是一种快速的方式,用户清除文本的文本框,文本超过了框的长度,所以你不能选择结束并拖动回删除,你必须点击并使用退格键和删除键清除文本。

    谢谢 艾莉森

    6 回复  |  直到 14 年前
        1
  •  5
  •   Neil Knight    14 年前
    TextBox tb = new TextBox();
    tb.SelectAll();
    

    文本框有一个 SelectAll 可以使用的方法。将其添加到双击事件处理程序中。

        2
  •  4
  •   cordellcp3    14 年前

    试试这样的。当MouseDoubleClick事件被触发时。。。

    myTextBox.SelectAll();
    

    只需查看MSDN--> http://msdn.microsoft.com/en-us/library/system.windows.controls.primitives.textboxbase.selectall.aspx

        3
  •  2
  •   Thomson    14 年前

    三次单击可以选择整个段落。如果更改双击的行为,则单词选择可能有点困难。

        4
  •  1
  •   npinti    14 年前

    你可以附加一个 DoubleClick 事件处理程序指向文本框,然后调用 SelectAll 方法

        5
  •  1
  •   Chris Baxter    14 年前

    假设我们讨论的是WindowsForms,那么您只需将EventHandler附加到DoubleClick事件并调用SelectAll

    private void sampleTextBox_DoubleClick(object sender, EventArgs e)
    {
      sampleTextBox.SelectAll();
    }
    
        6
  •  1
  •   Gerald Davis    14 年前

    textbox控件公开SelectionStart和Selection Length属性。

    您只需要连接文本框的双击事件来设置这些属性。

    SelectionStart将为0。 SelectionLength将是文本的长度(很容易由文本属性确定)。

    编辑时: 上面使用SelectAll()的解决方案要简单得多。