我想要的
我正在创建一个具有两个功能的应用程序,每个功能都有自己的表单(称为FactuurForm和VerhuurForm)。我还有另一个表单称为Home,其中包括两个按钮。根据点击哪个按钮,我希望打开其中一个表单,并完全关闭Home表单。
我所拥有的
目前,我有以下代码:
static class Program
{
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Home home = new Home();
home.ShowDialog();
if (home.kiesFactuur)
{
FactuurForm factuur = new FactuurForm();
home.Close();
factuur.ShowDialog();
}
else if (home.kiesVerhuur)
{
VerhuurForm verhuur = new VerhuurForm();
home.Close();
verhuur.ShowDialog();
}
}
}
kiesFactuur和kiesVerhuur是布尔值,在我的Home类中初始化为false。一旦我点击其中一个按钮,相应的布尔值将翻转为true,触发if语句关闭home-form并打开新表单。
我的问题
尽管我的当前代码可以工作,但对于这样一个简单的功能来说,似乎有点过于复杂。我觉得我不需要布尔值,这个操作可以更加简单地完成。那么有没有更简单/更好的方法来实现这个操作呢?
我也考虑过创建多个Main函数。单击一个按钮将激活相应的新Main函数并终止当前Main。这种方法可行吗,如果可行,是否是一个好的解决方案?
home.Hide();
和home.Show();
。 - Andrew Grinder.ShowDialog();
..所以你应该在home上调用dispose。当使用.ShowDialog();
时,.close
不会处理窗体对象。你必须调用.dispose
。除此之外,我会像你现在这样做... - Louis van Tonder