我正在尝试在每个表单上使用唯一控件集制作自定义表单...... 我可以创建动态表单,但我似乎无法对其进行任何控制。
using (Form formA = new Form())
{
Button btn = new Button();
formA.Text = "Form A";
formA.Name = "FormA";
this.MaximizeBox = false;
this.MinimizeBox = false;
this.BackColor = Color.White;
this.ForeColor = Color.Black;
this.Size = new System.Drawing.Size(155, 265);
this.Text = "Run-time Controls";
this.FormBorderStyle = FormBorderStyle.FixedDialog;
this.StartPosition = FormStartPosition.CenterScreen;
formA.Show();
formA.Controls.Add(btn);
}
表单创建正常,但按钮上没有运气...... (我编辑了此处显示的代码,以便更容易看到我正在尝试执行的操作,但是我的表单在创建后仍然会自行销毁。 我不知道为什么。
用如下方法解决了:
Button btn = new Button();
Form formA = new Form();
formA.Text = "Form A";
formA.Name = "FormA";
this.MaximizeBox = false;
this.MinimizeBox = false;
this.BackColor = Color.White;
this.ForeColor = Color.Black;
this.Size = new System.Drawing.Size(155, 265);
this.Text = "Run-time Controls";
this.FormBorderStyle = FormBorderStyle.FixedDialog;
this.StartPosition = FormStartPosition.CenterScreen;
formA.Show();
formA.Controls.Add(btn);
首先,formA.ShowDialog();
将冻结在那里,直到表单关闭。其次,您只创建了一个按钮并移动了它。
更改如下:
using (Form formA = new Form())
{
formA.Text = "Form A";
formA.Name = "FormA";
this.MaximizeBox = false;
this.MinimizeBox = false;
this.BackColor = Color.White;
this.ForeColor = Color.Black;
this.Size = new System.Drawing.Size(155, 265);
this.Text = "Run-time Controls";
this.FormBorderStyle = FormBorderStyle.FixedDialog;
this.StartPosition = FormStartPosition.CenterScreen;
formA.Show();
for (int x = 0; x <= 3; x++)
{
Button btn = new Button();
btn.Location = new System.Drawing.Point(10 + (x * 5), 10 + (x * 5));
btn.Text = "Button" + x.ToString();
btn.Name = "Button_" + x.ToString();
formA.Controls.Add(btn);
}
}