2012-07-25 63 views
0

我想要有一組複選框,如CheckListBox和不同的背景着色。 有沒有辦法讓我在運行時擁有這個組和編輯?c上的windowsform動態清單框#

我使用的代碼波紋管,但它是不能被以不同的顏色背面:

  foreach (var color in _colors) 
      { 
       var tmpCheckBox = new CheckBox 
            { 
             // Location = objLocation, 
             BackColor = color, 
             Text = color.Name 
            }; 
       objLocation.X = objOffset; 
       objLocation.Y += tmpCheckBox.Height + objOffset; 
       clbColorAnalyzeResult.Items.Add(tmpCheckBox); 
      } 

剛剛提到這一點: clbColorAnalyzeResult.Controls.Add(tmpCheckBox); 不會幫助,因爲沒有滾動條,我不能使用選定的索引!

thanx提前。

回答

1

您必須將複選框添加到表單的Controls屬性中。

也許你將不得不創建自己的自定義列表框並重寫OnDrawItem方法。 類似這樣的:

class MyCheckedListBox : CheckedListBox 
    { 
     protected override void OnDrawItem(DrawItemEventArgs e) 
     { 

     } 
    } 
+0

不會幫助,因爲沒有滾動條,我不能使用選定的索引(我想使用列表的好處)! – mefmef 2012-07-25 10:27:50

1

這樣做!

您應該將複選框添加到Panel,並將AutoScroll設置爲true以獲取滾動條。您可以訂閱GotFocusLostFocus事件以確定選中哪個複選框。