2020年8月1日星期六

Winform ComboBox独立绘制下拉选项的字体颜色

众所周知,cbo1.ForeColor会同时改变cbo1.Text和下拉选项字体颜色。

独立绘制下拉选项字体颜色,ForeColor 只对 cbo1.Text 颜色有效的办法,示例:

private void cb7_DrawItem(object sender, DrawItemEventArgs e){ DrawCboItems(sender, e);}private void cb7_SelectedIndexChanged(object sender, EventArgs e){ SetCboTextColor(sender);}private void SetCboTextColor(object sender){ ComboBox cbx = sender as ComboBox; if (cbx.Text == "+")  cbx.ForeColor = Color.Red; else  cbx.ForeColor = Color.Black;}private void DrawCboItems(object sender, DrawItemEventArgs e){ ComboBox cbo = sender as ComboBox; //初始化字体和背景色 Pen fColor = new Pen(Color.Black); Pen bColor = new Pen(Color.White); switch (e.Index) {
     //下拉选项的索引   case 1:   {   fColor = new Pen(Color.Red);   break;   } } e.Graphics.FillRectangle(bColor.Brush, e.Bounds); e.Graphics.DrawString((string)cbo.Items[e.Index], this.Font, fColor.Brush, e.Bounds);}

 

Winform ComboBox独立绘制下拉选项的字体颜色品牌大学店铺日常运营活动指导亚马逊listing精讲课谷歌Gmail广告,邮件营销利器! 中国品牌,就是硬核!《我是传奇》第二期2017年清明旅游赏花的地方?2017年清明节深圳会下雨吗?清明节深圳天气怎样?2017深圳清明想带孩子去放风筝?

没有评论:

发表评论