欢迎光临
我的个人博客网站

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); }

 

赞(0) 打赏
未经允许不得转载:张拓的天空 » Winform ComboBox独立绘制下拉选项的字体颜色
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

专业的IT技术经验分享 更专业 更方便

联系我们本站主机

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏