如何使用C#使文本框不可选

sae*_*eed 9 .net textbox winforms

我正在使用C#/ .NET作为Windows窗体应用程序.我有一个文本框.如何使文本框无法选择?

我不想禁用完整的文本框.

Zes*_*sty 11

在文本框的"Enter"事件中,将ActiveControl设置为其他内容:

    private void txtMyTextbox_Enter(object sender, EventArgs e)
    {
        ActiveControl = objMyOtherControl;
    }
Run Code Online (Sandbox Code Playgroud)

  • @Chris:不错的选择.但是,如果他没有使用richtextbox(他确实说过"文本框"),那么使用标签进行切换会有效.根据内容,他可能无法在标签中显示.@Mystere Man:可以使用代码调整文本框/ richtextbox的大小,以完全适应文本.@Edglex:他说他正在使用Windows窗体.Focusable在WPF中可用,但不在Windows窗体中. (2认同)

Chr*_*ich 6

您有几个选择:

  1. Label改用控件。
  2. 设置textBox.Enabled = false为防止选择(请参阅此处)。


Paz*_*Paz 5

IsHitTestVisible="False"防止鼠标悬停或单击时文本框显示边界框。就我而言,这足以利用文本框的文本包装功能,同时使其对用户操作不敏感

  • IsHitTestVisible是WPF函数。Windows窗体不可用。 (5认同)

And*_*zub -4

尝试使用CanFocus属性。

  • CanFocus 是只读的。它仅用于指示控件是否可以获得焦点。 (8认同)