繁体   English   中英

将禁用的TextBox的ForeColor设置为与C#中的BackColor相同

[英]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;

......你看到那个灰色阴影的颜色! 我不认为你可以搞砸它,它看起来是一个浏览器属性设置。

为什么不设置为ReadOnlyVisible = 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

再说一遍,如果它是re​​adonly,标签可能会更好。 如果你试图隐藏它,也许设置.Visible = false会更好。


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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM