C# winform combox控件 Enabled = false时背景颜色改变不了
求一简单的解决方法.请贴代码,尽量不要全是汉字叙述.如果非要重写怎么重写.代码...代码...代码...代码...代码...Enabled=false默认的背景颜色为灰色...
求一简单的解决方法.请贴代码,尽量不要全是汉字叙述.如果非要重写怎么重写.代码...代码...代码...代码...代码...
Enabled = false默认的背景颜色为灰色,我想要的是白色
现在的效果
我想要的效果 展开
Enabled = false默认的背景颜色为灰色,我想要的是白色
现在的效果
我想要的效果 展开
6个回答
展开全部
需要继承combobox,重写onpaint。不管enabled为何值,外观都一样
public class MyCombo : ComboBox
{
protected override Onpaint(e)
{
base.OnPaint(e);
// 重写控件绘制代码 在适当的位置绘制输入框和下拉按钮
ComboBoxRenderer.DrawTextBox(...);
ComboBoxRenderer.DrawDropDownButton(...);
}
}
代码直接敲的,估计有错。大概思路是这样的。
public class MyCombo : ComboBox
{
protected override Onpaint(e)
{
base.OnPaint(e);
// 重写控件绘制代码 在适当的位置绘制输入框和下拉按钮
ComboBoxRenderer.DrawTextBox(...);
ComboBoxRenderer.DrawDropDownButton(...);
}
}
代码直接敲的,估计有错。大概思路是这样的。
展开全部
不要设置enabled=false,设readonly=true,这个可以满足你的需求!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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 时控件就是灰色。改背景颜色也显示不出来。原有控件不能实现你的需求。
追问
肯定能..
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
需要继承combobox,重写onpaint。不管enabled为何值,外观都一样
public class MyCombo : ComboBox
{
protected override Onpaint(e)
{
base.OnPaint(e);
// 重写控件绘制代码 在适当的位置绘制输入框和下拉按钮
ComboBoxRenderer.DrawTextBox(...);
ComboBoxRenderer.DrawDropDownButton(...);
}
}
代码直接敲的,估计有错。大概思路是这样的。
public class MyCombo : ComboBox
{
protected override Onpaint(e)
{
base.OnPaint(e);
// 重写控件绘制代码 在适当的位置绘制输入框和下拉按钮
ComboBoxRenderer.DrawTextBox(...);
ComboBoxRenderer.DrawDropDownButton(...);
}
}
代码直接敲的,估计有错。大概思路是这样的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询