C# winform combox控件 Enabled = false时背景颜色改变不了

求一简单的解决方法.请贴代码,尽量不要全是汉字叙述.如果非要重写怎么重写.代码...代码...代码...代码...代码...Enabled=false默认的背景颜色为灰色... 求一简单的解决方法.请贴代码,尽量不要全是汉字叙述.如果非要重写怎么重写.代码...代码...代码...代码...代码...
Enabled = false默认的背景颜色为灰色,我想要的是白色
现在的效果
我想要的效果
展开
 我来答
flamermonster
2013-03-12 · 超过19用户采纳过TA的回答
知道答主
回答量:45
采纳率:0%
帮助的人:47.3万
展开全部
需要继承combobox,重写onpaint。不管enabled为何值,外观都一样
public class MyCombo : ComboBox
{
protected override Onpaint(e)

{
base.OnPaint(e);

// 重写控件绘制代码 在适当的位置绘制输入框和下拉按钮

ComboBoxRenderer.DrawTextBox(...);
ComboBoxRenderer.DrawDropDownButton(...);

}
}
代码直接敲的,估计有错。大概思路是这样的。
皑祢依笙
2013-03-08
知道答主
回答量:12
采纳率:0%
帮助的人:3万
展开全部
不要设置enabled=false,设readonly=true,这个可以满足你的需求!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
笨蛋是你我
推荐于2018-05-14 · TA获得超过106个赞
知道小有建树答主
回答量:192
采纳率:69%
帮助的人:15.3万
展开全部
comboBox1.Items.Add("1"); comboBox1.Items.Add("2"); comboBox1.Items.Add("3"); comboBox1.DropDownStyle = ComboBoxStyle.DropDownList; comboBox1.BackColor = Color.Green; comboBox1.SelectedIndex = 0; comboBox1.Enabled = false;
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-03-08
展开全部
Enabled = false 时控件就是灰色。改背景颜色也显示不出来。原有控件不能实现你的需求。
追问
肯定能..
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
在清水塘打篮球的花生
2018-05-14 · TA获得超过925个赞
知道小有建树答主
回答量:4842
采纳率:5%
帮助的人:160万
展开全部
需要继承combobox,重写onpaint。不管enabled为何值,外观都一样
public class MyCombo : ComboBox
{
protected override Onpaint(e)

{
base.OnPaint(e);

// 重写控件绘制代码 在适当的位置绘制输入框和下拉按钮

ComboBoxRenderer.DrawTextBox(...);
ComboBoxRenderer.DrawDropDownButton(...);

}
}
代码直接敲的,估计有错。大概思路是这样的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式