2012-04-18 18 views
0

コンボボックスにフォントリストを作成しました。私はそれがOwnerDrawFixedへの描画モードだ設定とメソッドDrawItemは単純です:gerneralでc#combobox DrawItem - 爽やかな問題

void cmbFonts_DrawItem(object sender, DrawItemEventArgs e) 
{ 
    if (e.Index < 0) return; 
    e.DrawBackground(); 

    Font newFont = 
     new Font(cmbFonts.Items[e.Index].ToString(), this.DefaultFontSize); 
    e.Graphics.DrawString(cmbFonts.Items[e.Index].ToString(), 
          newFont, 
          new SolidBrush(Color.Black), 
          new Rectangle(e.Bounds.Location, e.Bounds.Size)); 
    e.DrawFocusRectangle(); 
} 

、それが正常に動作します。マウスのスクロールに問題が発生します。次に、いくつかのアイテムは、それらがフォーカスされるまでランダムなグラフィックのように見えます。誰もが問題の解決策を知っていますか?

答えて

1

常には、インデックスに関係なくe.DrawBackground()を呼び出します。修正:

void cmbFonts_DrawItem(object sender, DrawItemEventArgs e) 
{ 
    e.DrawBackground(); 
    if (e.Index >= 0) { 
     // etc... 
    } 
} 
+0

投稿していただきありがとうございます。 – Ray

関連する問題