【问题标题】:C# how can I select all the text in a textbox when I double click?C#双击时如何选择文本框中的所有文本?
【发布时间】:2023-03-31 06:18:01
【问题描述】:

使用 C# 双击时如何选择文本框中的所有文本?我的文字包含空格“This is a test”,当我双击时默认只突出显示一个单词,如何突出显示所有文字?

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

谢谢 艾莉森

【问题讨论】:

  • 常见的“解决方案”是在 OnFocus 事件中将其全部选中(请参阅 Ardman 答案)。双击选择所有文本并不常见,因此您的用户不会知道它存在。跨度>
  • 您还可以考虑在文本框中获得焦点时选择所有文本(使用 Tab 键或鼠标单击,如 Web 浏览器中的地址栏 - 请参阅 OnFocus 事件对于文本框)。这仍然会提供一种快速删除文本的方法,而不会丢失许多用户认为能够双击选择单词的默认行为。
  • 向您的用户介绍 Ctrl+a 或使 TextBox 的文本换行也可能很有用(由于设计/屏幕空间问题可能无法实现)
  • @vlad:哦,我希望我能教给用户的东西...... :-)
  • @Cody Gray 我之所以提出它只是因为我今天早上遇到了类似的问题..

标签: c# winforms textbox


【解决方案1】:
TextBox tb = new TextBox();
tb.SelectAll();

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

【讨论】:

    【解决方案2】:

    试试这样的。当 MouseDoubleClick-Event 被触发时...

    myTextBox.SelectAll();
    

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

        您可以将DoubleClick 事件处理程序附加到文本框,然后调用SelectAll 方法

        【讨论】:

          【解决方案5】:

          假设我们正在讨论 WindowsForms,那么您所要做的就是将 EventHandler 附加到 DoubleClick 事件并调用 SelectAll

          private void sampleTextBox_DoubleClick(object sender, EventArgs e)
          {
            sampleTextBox.SelectAll();
          }
          

          【讨论】:

          • 你可以这样做: ((TextBox)sender).SelectAll(); ...这有点整洁
          【解决方案6】:

          文本框控件公开了 SelectionStart 和 Selection Length 属性。

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

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

          编辑时: 使用 SelectAll() 的上述解决方案要容易得多。

          【讨论】:

          • 存在 SelectAll 方法时有点矫枉过正。
          • 确实如此。我记得一些需要突出显示部分文本的代码中的 SelectionStart & Length。甚至没有意识到有一个简单得多的解决方案。这就是智能感知的用途。
          猜你喜欢
          • 1970-01-01
          • 2015-08-07
          • 2012-11-22
          • 2012-10-06
          • 1970-01-01
          • 1970-01-01
          • 2011-05-03
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多