使TextBox无法编辑

时间:2013-01-30 06:34:20

标签: c# .net winforms textbox

我想在我的表单上创建一些TextBox不可编辑,但我希望text清晰(黑色而不是灰色),这就是我不想使用的原因

myTextBox.Enabled = false;

不知何故,我希望它被禁用,但使用非灰色的前色。

有没有人有任何线索?

8 个答案:

答案 0 :(得分:96)

使用TextBox.ReadOnly属性

TextBox.ReadOnly = true;

对于非灰色背景,您可以将TextBox.BackColor属性更改为SystemColors.Window颜色

textBox.BackColor = System.Drawing.SystemColors.Window;
  

当此属性设置为true时,控件的内容不能   用户在运行时更改。将此属性设置为true,即可   仍然可以在代码中设置Text属性的值。你可以用它   功能,而不是使用Enabled属性禁用控件   允许复制内容并显示工具提示。

答案 1 :(得分:15)

使用TextBox上的ReadOnly属性。

myTextBox.ReadOnly = true;

但请记住:TextBoxBase.ReadOnly Property

  

当此属性设置为true时,控件的内容   用户在运行时无法更改 。将此属性设置为true,您可以仍然在代码中设置Text属性的值。   您可以使用此功能,而不是使用。禁用控件   启用属性以允许复制内容和工具提示   所示。

答案 2 :(得分:5)

您可以尝试使用:

textBox.ReadOnly = true;
textBox.BackColor = System.Drawing.SystemColors.Window;

只有在需要非灰色背景颜色时才需要最后一行。

答案 3 :(得分:3)

如果您希望TextBox不可编辑,则应将其设为ReadOnly

答案 4 :(得分:2)

只需在XAML中设置:

        <TextBox IsReadOnly="True" Style="{x:Null}" />

这样文字就不会灰显。

答案 5 :(得分:1)

如果您想使用XAML执行此操作,请将属性isReadOnly设置为true

答案 6 :(得分:0)

这是用于GridView的。

 grid.Rows[0].Cells[1].ReadOnly = true;

答案 7 :(得分:-1)

在ASPX页面中

Enabled =“ false”