我有多种形式,并且想知道将面板添加到表单是否是一个好习惯,将其他一些表单复制到主表单和显示中。例如,我可以使用Form1,Form2,Form3和Form4。然后我会删除Form2和Form3 - 事先将元素复制到Form1中的2个新面板中,然后使用位置,可见性和大小在不同的“视图”之间切换。
我使用相同的方面在下面创建了一个真实的例子:
private void Form1_Load(object sender, EventArgs e)
{
this.Width = 385;
this.Height = 243;
}
private void ButtonSearch_Click(object sender, EventArgs e)
{
this.Width = 541;
this.Height = 226;
panelSearch.Visible = false;
panelFileInfo.Visible = true;
panelFileInfo.Location = new System.Drawing.Point(0, 2);
label4.Text = textBox1.Text;
}
private void labelSearchAgain_Click(object sender, EventArgs e)
{
this.Width = 385;
this.Height = 243;
textBox1.Text = string.Empty;
checkBox1.Checked = false;
checkBox2.Checked = false;
panelSearch.Visible = true;
}
答案 0 :(得分:2)
我倾向于组件化创建聚合2或3个控件的自定义组件/用户控件。然后我研究这些新组件,使它们具有高度可重用性(至少在同一个项目中),并提供设计时支持等等......
我建议您尝试在控件中转换表单,然后将自定义控件拖放到主窗体中
答案 1 :(得分:1)
好的,我们在工作中有一些很多的遗留代码,有人做了你正在尝试做的事情。他们将十几种截然不同的形式组合成一个巨大的形式,各处都有动态显示/隐藏,移动和操纵的面板。
它已成为维护的噩梦!
根据功能保持表格分开。给他们好的描述性名称。如果你刚刚开始一个项目,你可能会考虑将你的努力用于学习WPF,因为它是WinForms的自然继承者。
这完全基于我的观点,但它也是基于5年维护意大利面条代码的经验,我建议你尽量避免使用。