2015-01-12 4 views
0

목록보기 상자에 확인란을 동적으로 삽입하려고합니다. 추가 될 때 스크롤 막대가 스크롤되지만 목록보기 상자에서 확인란을 볼 수 없습니다. 그들은 보이지 않는 것처럼 보입니다.동적으로 추가 된 확인란이 목록보기에 표시되지 않습니다.

그리고 다른 것은 listBox1.Items.Add (상자)에서 listBox1.Controls.Add (상자)로 코드를 변경하면 목록 상자에 하나의 확인란 만 표시됩니다.

vouchersList 15 문자열의 목록입니다 : 아래 그림과 같이

이 내 코드입니다.

for (int i = 0; i < vouchersList.Count; i++) 
{ 
    CheckBox box = new CheckBox(); 
    box.Tag = i.ToString(); 
    box.Text = vouchersList[i];  
    listBox1.Items.Add(box); 

} 
+0

당신은 어떤 오류가 발생 했을? Btw, 테스트 용 try box.Text = i.ToString(); box.Text = vouchersList [i] 대신; 어떻게 작동하는지보십시오. Btw, 좋은 샘플입니다. http://msdn.microsoft.com/en-us/library/system.windows.forms.listview.checkboxes%28v=vs.110%29.aspx. 감사합니다. –

+0

@AlexBell 오류가 없습니다. 나는 box.Text = i.ToString()을 시도했지만 같은 일이 일어나고있다. 목록 상자의 스크롤 막대가 무언가 추가되고 있지만 보이지 않는 것처럼 스크롤합니다. – Junaid

+0

listBox1.Controls.Add (상자) 코드를 변경할 때 목록 상자의 체크 상자가 어떻게 나타나지만 하나의 체크 상자 만 나타납니다. – Junaid

답변

2

당신은 CheckedListBox이 목록 상자의 insted 사용할 수 있으며, 다음은 다음과 같이합니다

 CheckedListBox ClistBox1 = new CheckedListBox(); 
     ClistBox1.FormattingEnabled = true; 
     ClistBox1.Location = new System.Drawing.Point(12, 12); 
     ClistBox1.Name = "listBox1"; 
     ClistBox1.Size = new System.Drawing.Size(278, 290); 
     ClistBox1.TabIndex = 0; 
     this.Controls.Add(ClistBox1); 

     for (int i = 0; i < 20; i++) 
     { 
      ClistBox1.Items.Add("Box" + i, true); //Second parameter is "Checked" true or false 
     } 
관련 문제