生成されたコントロールのサイズを自動調整したい。のタイプである2つのTextBox
タイプと2つのタイプを作成します。それぞれに、私がキャプションと呼ぶ文字列を表示する があります。2 つのテキストボックスのうちの 1 つしか表示されません。2 つのキャプションのうちの 1 つしか表示されません。フォーム内のすべてのコントロールを表示するにはどうすればよいですか? コントロールポジションを自分で管理したくない。むしろ設定に固執します。CustomControl
UserControl
CustomControl
Label
Dock
public partial class SomeForm : Form
{
public SomeForm()
{
InitializeComponent();
LoadControls();//I can only see the first control caption and textBox2
//how can I display both textboxes and both captions?
}
private void LoadControls()
{
TextBox textBox = GenerateTextBox("First textbox");
TextBox textBox2 = GenerateTextBox("Second textbox");
CustomControl control = new CustomControl(labelCaption: "First control caption");
CustomControl control2 = new CustomControl(labelCaption: "second control caption");
//add the textboxes to the usercontrols
control.Controls.Add(textBox);
control2.Controls.Add(textBox2);
//this displays only 1 control (incorrect)
flowLayoutPanel1.Controls.Add(control);
flowLayoutPanel1.Controls.Add(control2);
flowLayoutPanel1.SetFlowBreak(control, true);
flowLayoutPanel1.SetFlowBreak(control2, true);
//this displays both controls (correct)
//flowLayoutPanel1.Controls.Add(textBox);
//flowLayoutPanel1.Controls.Add(textBox2);
//flowLayoutPanel1.SetFlowBreak(textBox, true);
//flowLayoutPanel1.SetFlowBreak(textBox2, true);
}
private static TextBox GenerateTextBox(string text)
{
TextBox textBox = new TextBox();
textBox.Text = text;
textBox.Dock = DockStyle.Top;
return textBox;
}
}
カスタム コントロール:
public CustomControl(string labelCaption)
{
InitializeComponent();
Label label = new Label();
label.Text = "Rtb..." + labelCaption;
//label.Dock = DockStyle.Top;
//contentPanel.Controls.Add(label);//disabled for now
}