2016-06-12 1 views
0

Windows FormtableLayoutPanel 내에 checkboxes의 목록을 표시합니다.tableLayoutPanel 및 데이터 테이블 바운드 CheckBox에 문제가 있습니까?

확인란이 표시되지만 그 사이의 간격은 매우 홀수입니다. 체크 박스가 윈도우 폼에서 어떻게 보이는지

DataTable messagesTable = ds.Tables[0]; 

foreach (DataRow row in messagesTable.Rows) 
{ 
    CheckBox ck = new CheckBox(); 
    ck.Text = row[1].ToString(); 
    tableLayoutPanel1.Controls.Add(ck); 
} 

이것은 : tableLayoutPanelMsgs.ColumnCount가 1

로 설정이 내 코드입니다. 각 확인란 사이의 간격을 확인하십시오. enter image description here

어떻게 해결할 수 있습니까? 다시 한번 감사드립니다.

답변

2

RowStyle으로 설정해야합니다.

가 첨부 된 스크린 샷 설정을 참조하십시오 Properties :

enter image description here

가 적어도 하나의 행, 그리고 당신이 스타일의 설정해야합니다. 나머지 행은 자동으로 기본 스타일 AutoSize으로 추가됩니다. 각각의 체크 박스 SetRow를 호출하는

0

봅니다 추가 :

DataTable messagesTable = ds.Tables[0]; 
int I = 0; 

tableLayoutPanel1.RowCount = messagesTable.Rows.Count; 

foreach (DataRow row in messagesTable.Rows) 
{ 
    CheckBox ck = new CheckBox(); 
    ck.Text = row[1].ToString(); 
    tableLayoutPanel1.Controls.Add(ck); 
    tableLayoutPanel1.SetRow(ck, i++); 
}