我想检测在某些情况下我的应用程序是否最小化,如果是,则需要还原该窗口。我可以轻松做到如下:
if(this.WindowState == FormWindowState.Minimized) {
this.WindowState = FormWindowState.Normal;
}
但是,如果用户首先最大化表单,然后最小化表单,会发生什么呢?我不知道是否将
WindowState
设置为FormWindowState.Normal
或FormWindowState.Maximized
。我可以检查解决此问题的方法或API调用吗? 最佳答案
下面显示的代码可以满足您的需求。顺便说一句,覆盖用户的选择是非常不明智的。
public partial class Form1 : Form {
public Form1() {
InitializeComponent();
mLastState = this.WindowState;
}
FormWindowState mLastState;
protected override void OnResize(EventArgs e) {
base.OnResize(e);
if (mLastState != this.WindowState) {
if (this.WindowState == FormWindowState.Minimized) this.WindowState = mLastState;
else mLastState = this.WindowState;
}
}
}