如何将禁用的TextBox的当前文本颜色设置为与C#中的当前背景颜色相同?
简单地做txtLala.ForeColor = txtLala.BackColor似乎不起作用。
答案 0 :(得分:3)
这有效:
txtLala.Text = "Red";
txtLala.BackColor = System.Drawing.Color.Red;
txtLala.ForeColor = txtLala.BackColor;
txtLala.ReadOnly = true;
尝试在color
之前设置readonly
。还要检查你如何设置颜色!
修改强>
试试这个
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及更高版本。
此属性沿控件层次结构向下传播。因此,禁用容器控件将禁用该容器中的所有子控件。
注意并非所有控件都支持此属性。有关详细信息,请参阅单个控件。
答案 1 :(得分:0)
如果这是一个只读文本框,您需要先显式设置BackColor,然后您的语句才能正常工作。
txtLala.BackColor = System.Drawing.SystemColors.Info;
txtLala.ForeColor = txtLala.BackColor;
参考:http://bytes.com/groups/net-c/233961-read-only-textbox
然后,如果它是只读的,标签可能会更好。如果你试图隐藏它,也许设置.Visible = false
会更好。
修改:这似乎是网络上的common question。关于 winforms :This site建议将框放入框架并在框架上设置Enabled = false
,而不是文本框。一旦你这样做,你就可以保持对前色的控制。
答案 2 :(得分:0)
它似乎仅适用于只读的TextBox。如果禁用(.Enabled = false)。它似乎不起作用。