如何防止表单在C#中多次打开,同时保持与之前的父表单的连接?
这是菜单表单中的代码。基本上,我想做的是询问用户是否想离开程序,如果是,关闭LogoutQuestion表单和父菜单表单。关于如何实现这一点有什么想法吗如何防止表单在C#中多次打开,同时保持与之前的父表单的连接?,c#,forms,formclosing,C#,Forms,Formclosing,这是菜单表单中的代码。基本上,我想做的是询问用户是否想离开程序,如果是,关闭LogoutQuestion表单和父菜单表单。关于如何实现这一点有什么想法吗 private void button4_Click(object sender, EventArgs e) { LogoutQuestion log = new LogoutQuestion(this); log.Show(); } } 以上是我提到的全部注销问题表格。任何帮助都将不胜感激。:
private void button4_Click(object sender, EventArgs e)
{
LogoutQuestion log = new LogoutQuestion(this);
log.Show();
}
}
以上是我提到的全部注销问题表格。任何帮助都将不胜感激。:-)
让LogoutQuestion成为一个对话框(log.ShowDialog();
),这样您也可以
检索用户响应的结果,因为这将返回
对话结果
通过ShowDialog,可以使表单成为模态。这意味着它与显示它的父窗体绑定。这就像您尝试在其他windows程序中保存文件一样。这也意味着在关闭此表单之前,用户不能继续执行任何其他操作。这还提供了在表单关闭时使用用户操作结果的选项
namespace Project
{
public partial class LogoutQuestion : Form
{
Form FormParent = null;
public LogoutQuestion(Form parent)
{
FormParent = parent;
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
this.Close();
this.FormParent.Close();
}
private void button2_Click(object sender, EventArgs e)
{
this.Close();
}
}
让LogoutQuestion成为一个对话框(log.ShowDialog();
),这样您也可以
检索用户响应的结果,因为这将返回
对话结果
通过ShowDialog,可以使表单成为模态。这意味着它与显示它的父窗体绑定。这就像您尝试在其他windows程序中保存文件一样。这也意味着在关闭此表单之前,用户不能继续执行任何其他操作。这还提供了在表单关闭时使用用户操作结果的选项
namespace Project
{
public partial class LogoutQuestion : Form
{
Form FormParent = null;
public LogoutQuestion(Form parent)
{
FormParent = parent;
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
this.Close();
this.FormParent.Close();
}
private void button2_Click(object sender, EventArgs e)
{
this.Close();
}
}
有什么问题吗?似乎您已经编写了所需的代码。将LogoutQuestion设置为一个对话框(
log.ShowDialog();
),这样您还可以检索用户响应的结果,因为这将返回一个DialogResult
。您也可以调用应用程序。Exit@VisualVincent问题是如果在菜单中单击注销按钮,带有LogoutQuestion的表单将再次出现,我想做的是确保表单一次只显示一次time@tinstaafl你能解释一下.Show()和.ShowDialog()之间的区别吗?有什么问题吗?似乎您已经编写了所需的代码。将LogoutQuestion设置为一个对话框(log.ShowDialog();
),这样您还可以检索用户响应的结果,因为这将返回一个DialogResult
。您也可以调用应用程序。Exit@VisualVincent问题是如果在菜单中单击注销按钮,带有LogoutQuestion的表单将再次出现,我想做的是确保表单一次只显示一次time@tinstaafl你能解释一下.Show()和.ShowDialog()之间的区别吗?