使TextBox不可编辑

我想使我的表单上的某些TextBox不可编辑,但是我希望text清晰(黑色而不是灰色),这就是为什么我不想使用

myTextBox.Enabled = false;

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

有没有人有任何线索?

使用TextBox.ReadOnly属性

 TextBox.ReadOnly = true; 

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

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

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

使用TextBox上的ReadOnly属性。

 myTextBox.ReadOnly = true; 

但请记住: TextBoxBase.ReadOnly属性

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

你可以尝试使用:

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

如果你想要一个非灰色的背景颜色,最后一行是必要的。

如果你想让你的TextBox不可编辑的话,你应该使它成为ReadOnly 。

如果你想使用XAML来设置属性isReadOnlytrue

只需在XAML中设置:

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

所以文本不会变灰。