0

ComboBox の最初の項目を赤に設定したいので、次のコードを使用してこのタスクを実行します。

private void cbTreeViewFolder_DrawItem(object sender, DrawItemEventArgs e)
{
    e.DrawBackground();
    if (e.Index >= 0)
    {
        string text;
        Brush brush;
        MyClass file = ((MyClass)((ComboBox)sender).Items[e.Index]);
        if (e.Index == 0)
        {
            text = file.Path;
            brush = Brushes.Red;
        }
        else
        {
            text = file.Nome;
            brush = Brushes.Black;
        }
        e.Graphics.DrawString(text, ((Control)sender).Font, brush, e.Bounds.X, e.Bounds.Y);
   }
}

ComboBox をクリアするまで機能します。その場合、それを管理する方法がわからず、すべてのアイテムが ComboBox に残るためです。誰でも問題の解決策を知っていますか?

4

1 に答える 1

0
private void comboBox1_DrawItem(object sender, DrawItemEventArgs e)
{    
     if (((ComboBox)sender).Items.Count != 0) {
     e.DrawBackground();        
     string text = ((ComboBox)sender).Items[e.Index].ToString();
     Brush brush;         
     if (e.Index == 0)
        brush = Brushes.Red;
     else
        brush = Brushes.Black;
     e.Graphics.DrawString(text, ((Control)sender).Font, brush, e.Bounds.X, e.Bounds.Y);
     }
}
于 2013-01-04T10:09:28.833 に答える