C#如何设置Combobox下拉框中已选过的项的背景颜色 要详细代码
3个回答
展开全部
public partial class Form1 : Form
{
List<string> its = new List<string>();
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
comboBox1.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawVariable;
}
private void comboBox1_DrawItem(object sender, DrawItemEventArgs e)
{
string s = comboBox1.Items[e.Index].ToString();
Color c = its.Contains(s) ? Color.LightBlue : Color.White;
Font font = new Font("宋体", 8);
Rectangle r = new Rectangle(2, e.Bounds.Top + 2,
e.Bounds.Height, e.Bounds.Height - 4);
e.DrawBackground();
e.Graphics.FillRectangle(new SolidBrush(c), r);
e.Graphics.DrawString(s, font, Brushes.Black, new RectangleF(e.Bounds.X, e.Bounds.Y, e.Bounds.Width, e.Bounds.Height));
e.DrawFocusRectangle();
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
its.Add(comboBox1.Text);
}
}
展开全部
你是要做到以下哪种效果?
如果当前项之前已经选择过,则改变ComboBox显示部分的背景色
如果当前项之前已经选择过,则改变该项在下拉框中的颜色
追问
第2种如何实现
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Combobox应该没有这样的功能。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询