0
양식에 일부 컨트롤 (현재 텍스트 상자 및 레이블)을 동적으로 추가하려고합니다. 그려야 할 세트의 수는 정해져 있지 않습니다. '동적으로 컨트롤 쌍을 추가하는 방법
내가 달성하고자하는 것의 예.
테이블에서 볼 수 있듯이 공간이 부족하여 오른쪽으로 이동합니다.
현재 FlowLayoutPanel
내에 TableLayoutPanel
을 사용하고 있습니다.
Column 0
은 label
을 포함하고 column 1
은 textbox
을 포함합니다.
어떻게하면 FlowLayoutPanel
에 테이블을 분할 할 수 있습니까?
private void Form1_Load(object sender, EventArgs e)
{
FlowLayoutPanel flp = new FlowLayoutPanel()
{
Location = new Point(0, 0),
Dock = DockStyle.Fill,
AutoSize = false,
FlowDirection = FlowDirection.TopDown,
AutoScroll = true,
BorderStyle = BorderStyle.Fixed3D,
WrapContents = true
};
Controls.Add(flp);
TableLayoutPanel tlp = new TableLayoutPanel()
{
ColumnCount = 2,
Height = ClientSize.Height,
BackColor=Color.AliceBlue
};
flp.Controls.Add(tlp);
for (int i = 0; i < 50; i++)
{
Label _label = new Label()
{
Text = i.ToString("00"),
AutoSize = true
};
tlp.Controls.Add(_label, 0, i);
TextBox _textbox = new TextBox();
tlp.Controls.Add(_textbox, 1, i);
}
사용 ['DataGridView']와 같은 동적으로 추가 필드 용으로 설계된 제어 (https://msdn.microsoft.com/en을 -us/library/system.windows.forms.datagridview (v = vs.110) .aspx)가 아니라 TableLayoutPanel입니다. –