C# 设置禁用的文本框';s的前景色与C中的背景色相同#

C# 设置禁用的文本框';s的前景色与C中的背景色相同#,c#,.net,user-interface,C#,.net,User Interface,如何将禁用文本框的当前文本颜色设置为与C#中的当前背景颜色相同 简单地执行txtLala.ForeColor=txtLala.BackColor似乎不起作用。如果这是一个只读文本框,您需要先显式设置您的BackColor,然后您的语句才能起作用 txtLala.BackColor = System.Drawing.SystemColors.Info; txtLala.ForeColor = txtLala.BackColor; 参考: 再说一次,如果它是只读的,标签可能会更好。如果您试图隐藏它

如何将禁用文本框的当前文本颜色设置为与C#中的当前背景颜色相同


简单地执行txtLala.ForeColor=txtLala.BackColor似乎不起作用。

如果这是一个只读文本框,您需要先显式设置您的BackColor,然后您的语句才能起作用

txtLala.BackColor = System.Drawing.SystemColors.Info;
txtLala.ForeColor = txtLala.BackColor;
参考:

再说一次,如果它是只读的,标签可能会更好。如果您试图隐藏它,可能设置
.Visible=false
会更好


编辑:这似乎是网络上的一个问题。关于winforms:建议将框放入框架中,并在框架上设置
Enabled=false
,而不是文本框。一旦这样做,您就可以保持对前景色的控制。

这项功能:

txtLala.Text = "Red";
txtLala.BackColor = System.Drawing.Color.Red;
txtLala.ForeColor = txtLala.BackColor;
txtLala.ReadOnly = true;
尝试在
只读
之前设置
颜色
。并检查您如何设置颜色

编辑

试试这个

txtLala.Attributes.Add("style","background-color:Red;color:Red");
如果您试图使其不可见,您知道可以将其设置为

txtLala.Visible = False;
编辑II

我终于试过了

txtLala.Enabled = false;
。。。你看那灰色的阴影颜色!我不认为你能搞乱它,它看起来是一个浏览器属性设置

为什么不设置为
ReadOnly
Visible=False

也许你有一个很好的理由来解释
Enabled=false

但你应该注意:

使用Enabled属性指定或确定控件是否正常工作。设置为false时,控件显示为灰色,防止在控件中输入任何输入。

注意:启用或禁用功能的功能始终可用。但是,暗显和锁定控件仅适用于Microsoft Internet Explorer版本4及更高版本。

此属性沿控件层次结构向下传播。因此,禁用容器控件将禁用该容器中的所有子控件。

注意:并非所有控件都支持此属性。有关详细信息,请参见独立控件。


它似乎只适用于只读的文本框。如果已禁用(.Enabled=false)。它似乎不起作用。

我能问一下您为什么要这样做吗?(可能有一种更简单的方法来实现您想要的结果)实际上,我想要实现的就是让文本框看起来没有价值。出于某种原因,我不能将其.Text设置为空,因为这会在其他地方引起太大的更改,我不想使用该路径。这是ASP还是winforms?请将第二条注释作为编辑。你应该使用下面描述的Add.Attributes方法,是的,他说的是真的。。。区别很重要好吧,我也倾向于Winforms。