已关闭。此问题需要details or clarity。当前不接受答案。
**想要改进此问题?**添加详细信息并通过editing this post阐明问题。
3天前关闭。
Improve this question
我想在表单之间进行转换。表单不止两个。我需要一些允许在几个表单之间转换的东西,如果我正在通过两个或更多表单,当我单击主菜单时,所有打开的旧页面都将关闭。我正在使用WinForms和C#
我只是使用.Show()
和.ShowDialog()
方法将其作为弹出窗口打开,但在第二个选项中,它仍然像浏览历史一样,逐页返回
1条答案
按热度按时间oogrdqng1#
实现此目的的方法之一是创建一个公共基类
Form
(在本例中我们称之为BaseActivity
),并使用Application.OpenForms
集合为继承它的表单创建一个特别管理器。在重复可见性循环中使用Show()
时,一个棘手的问题是,如果调用Close()
方法,它将破坏窗口句柄。由于这个原因,BaseActivity
将把canceler方法附加到FormClosing
事件,并在应用程序关闭时将其删除。流式布局的最小示例
这样,当您单击主菜单时,所有打开的旧页面都会关闭。
从
Application.OpenForms
创建的实用工具集合“当我单击主菜单时,所有打开的旧页面都将关闭。”
任何窗体都可以打开其他窗口。
用[X]关闭单个窗口后,滑动窗口位置(动画)以填充差距。