73

我想让TextBox我的表单上的一些 es 不可编辑,但我想要text清晰(黑色而不是灰色),这就是我不想使用的原因

myTextBox.Enabled = false;

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

有没有人有任何线索?

4

8 回答 8

124

使用TextBox.ReadOnly属性

TextBox.ReadOnly = true;

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

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

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

于 2013-01-30T06:35:46.413 回答
17

使用TextBox 上的ReadOnly属性。

myTextBox.ReadOnly = true;

但请记住:TextBoxBase.ReadOnly 属性

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

于 2013-01-30T06:36:13.810 回答
6

您可以尝试使用:

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

仅当您想要非灰色背景颜色时,才需要最后一行。

于 2013-01-30T06:40:54.943 回答
4

只需在 XAML 中设置:

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

这样该文本就不会变灰。

于 2017-04-03T11:37:06.793 回答
3

如果你想要你的TextBox不可编辑,你应该把它设为 ReadOnly

于 2013-01-30T06:38:10.000 回答
1

如果您想使用 XAML 执行此操作,请将属性设置isReadOnlytrue.

于 2016-12-13T23:22:26.970 回答
1

这是针对 GridView 的。

 grid.Rows[0].Cells[1].ReadOnly = true;
于 2019-02-28T04:57:50.863 回答
-1

在 aspx 页面中启用 =“false”

于 2020-08-25T04:46:14.417 回答