因此,在我的WinForms应用程序中,我需要显示几个“页面”(即包含文本框,按钮,屏蔽框等的组框)在我的应用程序的一个主页上。首先我尝试使用“用户控制器",但没有成功,因为控制器的名称与传递给数据库连接的名称不匹配。所以我试着通过“位置属性”将这些组框一个放在另一个的上面,但现在我有一个重大的问题,当我决定做一些改变这些groupbox控制器。这是非常困难的访问他们,我想知道是否有'这是另一种方法,因为它看起来很业余......我如何实现这种功能,而不把groupbox放在另一个之上?我也想知道,是正确的做与groupbox或我应该使用面板?
方法示例:
private void btnCadastrarBeneficiario_Click(object sender, EventArgs e)
{
groupBoxUsuarioCadastro.Visible = false;
groupBoxClienteCadastro.Visible = false;
groupBoxHospitalCadastro.Visible = false;
GroupBoxMonitoramento.Visible = false;
groupBoxBeneficiarioCadastro.Visible = true;
}
我使用了visibility属性,这样我就可以显示(或不显示)组框,并使它们像实际页面一样工作。
---EDIT----为了清楚起见,我创建了一个最小版本的内容:
namespace WinFormsApp1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
groupBox2.Visible = false;
groupBox3.Visible = false;
groupBox1.Visible = true;
}
private void button2_Click(object sender, EventArgs e)
{
groupBox1.Visible = false;
groupBox3.Visible = false;
groupBox2.Visible = true;
}
private void button3_Click(object sender, EventArgs e)
{
groupBox1.Visible = false;
groupBox2.Visible = false;
groupBox3.Visible = true;
}
}
}
这是一个最小的应用程序的代码,和我正在做的很相似。它运行得很好,但是我想知道是否有其他的方法来做它,一个更有效、更有组织和更复杂的方法。
1条答案
按热度按时间5us2dqdw1#
我倾向于这样做:
显然,您可以将其扩展到任意类型的控件。