我想在我的表单上创建一些TextBox
不可编辑,但我希望text
清晰(黑色而不是灰色),这就是我不想使用的原因
myTextBox.Enabled = false;
不知何故,我希望它被禁用,但使用非灰色的前色。
有没有人有任何线索?
答案 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)
Enabled =“ false”