gpt4 book ai didi

c# - .Net:导航到不同表单时维护表单 windowState

转载 作者:行者123 更新时间:2023-11-30 21:10:05 26 4
gpt4 key购买 nike

在我的应用程序中,用户可以导航到一个表单到另一个表单等等。所以我想维护每个窗体的 WindowState。我的意思是,如果 form1 处于普通模式,那么下一个 form2 应该以普通模式打开,如果 form1 处于最大化模式,那么 form2 应该以最大化模式打开。当用户导航到上一个表单时,同样的方法也适用。我没有使用 MDI Parent - child。

一种方法如下

frmLogin form = new frmLogin();
form.WindowState = this.WindowState;
form.Show();
this.Hide();

但是我觉得这种做法不好。在这种情况下,我必须维护以前的表单对新表单的引用,这样当新表单关闭时,以前的表单就会占据新表单 windowState

请推荐一个更好的选择

最佳答案

有一个中心位置(例如,FormStateManager 类的对象)用于存储 WindowState 信息,可用于您的每个表单。您可以使用单例模式在您的程序中只有一个 FormStateManager 对象,或者在每个 Form 的构造函数中传递正确的对象。每当一个表单更改它的 WindowState 时,必须通知 FormStateManager 对象,例如,在 Resize 事件中。

关于c# - .Net:导航到不同表单时维护表单 windowState,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8666032/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com