c# - 如何使用按钮关闭所有加载的表单
问题描述
假设我有 4 个打开的表格。当我按下 Form4 中的按钮时,我想关闭除第一个表单之外的所有表单。查看我的示例代码:
//Form1
private void button1_Click(object sender, EventArgs e)
{
using (Form2 frm = new Form2())
{
frm.ShowDialog();
}
}
//Form2
private void button1_Click(object sender, EventArgs e)
{
using (Form3 frm = new Form3())
{
frm.ShowDialog();
}
}
//Form3
private void button1_Click(object sender, EventArgs e)
{
using (Form4 frm = new Form4())
{
frm.ShowDialog();
}
}
//Form4
private void button1_Click(object sender, EventArgs e)
{
//So basically all forms are shown. What I want is when I press this button
//all forms will close including this one except the first form.
}
我正在考虑的是使用 FormClosing() 事件。这是理想的还是有其他方法可以做到这一点?
解决方案
您可以使用此代码块
for (int i= App.Current.Windows.Count - 1; i>= 0; i--)
App.Current.Windows[i].Close();
它适用于我的电脑
App.Current.windows 获取所有窗口,然后可以关闭每个窗口
推荐阅读
- sql-server - 如何从远程服务器访问文件以在我的文件系统中进行批量加载?
- java - 即使头文件中存在列表仍然无法正常工作,为什么?
- c# - 如何在运行时创建 C# 类,并在同一运行时访问它们?
- sql - GROUP BY 同一张表中的一列到两个别名列
- python - 使用 Hughlines 变换进行角点检测
- php - Wordpress 永久链接导致 404 未找到
- python - Discord.py 和 youtube_dl:在下载前寻找视频长度
- java - 在客户端运行使用 Maven 创建的 Jar 文件
- apache-spark - 来自..错误有效负载的无效状态代码“400”:“要求失败:会话未激活
- python - 为什么这段代码删除文件而不是重命名它?