多谢 chenyuming2004,你说的方法可以,有分。
不过,我最为希望的如何使用
ComboBox能实现这个功能,
哪位可以赐教?

解决方案 »

  1.   

    调用.net的颜色相关的类就可以了,你可以看帮助
      

  2.   

    调用.net的颜色相关的类就可以了,你可以看帮助
      

  3.   

    随便找个论坛什么的把相关代码都拷下来不得了,如果要做得花哨,可以去找专门选择颜色的HTC控件
      

  4.   

    combox属性里找到Item,打开"字符串集合编辑器".输入颜色
    如:
    WhiteSmoke
    Pink
    PaleVioletRad
    MistyRose
    代码:
         private void comboBox1_SelectedIndexChanged(object sender, System.EventArgs e)
    {
    switch (comboBox1.SelectedIndex) 
    {
    case 0:
    wall.color = Brushes.WhiteSmoke ;
    break;
    case 1:
    wall.color = Brushes.Pink;
    break;
    case 2:
    wall.color = Brushes.PaleVioletRed ;
    break;
    case 3:
    wall.color = Brushes.MistyRose ;
    break;
    default:
    wall.color = Brushes.MintCream;
    break;
    }
    }
      

  5.   

    把comboBox1的DrawMode设置为OwnerDrawVariable,然后用类似的方法可以实现private void cmbcustom_DrawItem(object sender, System.Windows.Forms.DrawItemEventArgs e)
    {
    ComboBox comboBox1 = (ComboBox)sender; Rectangle rc = new Rectangle(e.Bounds.X -1, e.Bounds.Y , 
    e.Bounds.Width - 1, e.Bounds.Height - 1); switch(e.Index)
    {
    case  0 :e.Graphics.FillRectangle(new SolidBrush(Color.Red) , rc);break;
    case  1 :e.Graphics.FillRectangle(new SolidBrush(Color.Green) , rc);break;
    case  2 :e.Graphics.FillRectangle(new SolidBrush(Color.Yellow) , rc);break;
    case  3 :e.Graphics.FillRectangle(new SolidBrush(Color.Blue) , rc);break;
    default:e.Graphics.FillRectangle(new SolidBrush(Color.Black) , rc);break;
    } }
      

  6.   

    证人:CSTerry说得方法最好,可以完全定制,甚至可以选择线的类型了,多谢!
      

  7.   

    奇怪,我已经将100分结给了Terry,怎么没有出现?!