![](/img/trans.png)
[英]Change foreColor and BackColor of DataGridViewRows in C#
[英]Set a disabled TextBox's ForeColor to be the same as its BackColor in C#
如何将禁用的TextBox的当前文本颜色设置为与C#中的当前背景颜色相同?
简单地做txtLala.ForeColor = txtLala.BackColor似乎不起作用。
这有效:
txtLala.Text = "Red";
txtLala.BackColor = System.Drawing.Color.Red;
txtLala.ForeColor = txtLala.BackColor;
txtLala.ReadOnly = true;
尝试在readonly
之前设置color
。 还要检查你是如何设置颜色的!
编辑
试试这个
txtLala.Attributes.Add("style","background-color:Red;color:Red");
如果您试图让它不可见,您知道可以将其设置为
txtLala.Visible = False;
编辑二
我终于试过了
txtLala.Enabled = false;
......你看到那个灰色阴影的颜色! 我不认为你可以搞砸它,它看起来是一个浏览器属性设置。
为什么不设置为ReadOnly
或Visible = False
?
也许你有充分的理由认为Enabled = false
但你应该注意:
使用Enabled属性指定或确定控件是否有效。 设置为false时,控件显示为灰色 ,防止在控件中输入任何输入。
注意始终可以启用或禁用功能。 但是,调暗和锁定控件仅适用于Microsoft Internet Explorer版本4及更高版本。
此属性沿控件层次结构向下传播。 因此,禁用容器控件将禁用该容器中的所有子控件。
注意并非所有控件都支持此属性。 有关详细信息,请参阅单个控件。
如果这是一个只读文本框,则需要先显式设置BackColor,然后您的语句才能生效。
txtLala.BackColor = System.Drawing.SystemColors.Info;
txtLala.ForeColor = txtLala.BackColor;
参考: http : //bytes.com/groups/net-c/233961-read-only-textbox
再说一遍,如果它是readonly,标签可能会更好。 如果你试图隐藏它,也许设置.Visible = false
会更好。
编辑 :这似乎是网络上的一个常见问题 。 关于winforms : 此站点建议将框放入框架并在框架上设置Enabled = false
,而不是文本框 。 一旦你这样做,你可能能够保持对前景色的控制。
它似乎只适用于只读的TextBox。 如果禁用(.Enabled = false)。 它似乎不起作用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.