我有一个使用 ShowDialog 方法打开的表单。在这种形式中,我有一个名为“更多”的按钮。 如果我们点击“更多”,它应该会打开另一个表单并关闭当前表单。
在 More Button 的 Click 事件处理程序上,我编写了以下代码
MoreActions objUI = new MoreActions ();
objUI.ShowDialog();
this.Close();
但实际情况是,它并没有关闭第一个表单。所以,我将这段代码修改为
MoreActions objUI = new MoreActions ();
objUI.Show();
this.Close();
在这里,第二个表单正在显示,并且在几秒钟内两个表单都关闭了。
谁能帮我解决问题。我需要做的是,如果我们点击更多按钮,它应该打开另一个表单并关闭第一个表单。
任何形式的帮助都会对我很有帮助。
最佳答案
在我看来,主窗体应该负责打开两个子窗体。这是一些伪造的解释我会做什么:
// MainForm
private ChildForm childForm;
private MoreForm moreForm;
ButtonThatOpenTheFirstChildForm_Click()
{
childForm = CreateTheChildForm();
childForm.MoreClick += More_Click;
childForm.Show();
}
More_Click()
{
childForm.Close();
moreForm = new MoreForm();
moreForm.Show();
}
您只需在第一个 child 中创建一个简单的事件 MoreClick。这种方法的主要好处是您可以根据需要复制它,并且可以非常轻松地为某种基本工作流程建模。
关于c# - 如何从另一个表格打开一个新表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3965043/