TableLayoutPanel에서 파생 된 클래스가 있습니다. 이 클래스 메이크업 테이블 수정 (그리드 3x8) 및 일부 셀에 일부 체크 박스를 추가하십시오. 이 모든 작업은 InitLayout() 함수를 재정 의하여 수행됩니다.Windows (Form) 컨트롤 재정의 TableLayoutPanel 질문
public class TableLayoutPanelHours : TableLayoutPanel
{
protected override void InitLayout()
{
RowCount = 3;
ColumnCount = 8;
// Set some column and row styles
RowStyles[0].SizeType = SizeType.Percent;
RowStyles[0].Height = (100/RowCount);
// ... etc ...
// ... create checkbox with the name checkbox1
Controls.Add(checkbox1, 1, 1); // Put in cell 1x1
// ... etc ...
}
}
빌드 후 컨트롤은 VS2010의 도구 상자에서 사용할 수 있습니다.
그런 다음 컨트롤을 간단한 Windows Form에두면 사용자가 알 수없는 몇 가지 문제가 발생합니다. - 컨트롤이 아직 디자인 모드에서 메이크업이 아닙니다. TableLayoutPanel은 기본 2x2 격자를 표시하며 체크 상자는 이상한 장소에 있습니다.() 양식, 나는이 선이 나타납니다 참조를 InitializeComponent에서 :
//
// tableLayoutPanelHours1
//
this.tableLayoutPanelHours1.ColumnCount = 8;
this.tableLayoutPanelHours1.ColumnCount = 3;
this.tableLayoutPanelHours1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
// ....
나는이 선 것을 제외했다 그리고 - 실행 후 컨트롤 (올바르게 장소에 체크 박스와 3x8 그리드) 제대로 표시됩니다 Windows Forms의 InitializeComponent()에는 표시되지 않지만이 문제가 발생하는 이유는 무엇입니까?
감사합니다.
한스, 귀하의 정보에 감사드립니다! 클리어 리. 감사. – robertpnl
당신을 진심으로 환영합니다. 그리고 도움이되지 못했던 많은 답변에서 저의 지도력에 공헌 해 주신 것에 대해 감사드립니다. 300 가까워지고있다! –