我想知道我的winform是否已经最小化了。有什么方法可以知道表单是否已经最小化?
为此,我不能使用属性FormWindowState.Minimized
。我们只是说这个属性不适合我。
我可以使用离焦或表单停用事件来了解表单是否已最小化?据我所知,表单最小化时不会引发任何事件。
我想知道我的winform是否已经最小化了。有什么方法可以知道表单是否已经最小化?
为此,我不能使用属性FormWindowState.Minimized
。我们只是说这个属性不适合我。
我可以使用离焦或表单停用事件来了解表单是否已最小化?据我所知,表单最小化时不会引发任何事件。
我不能使用属性FormWindowState.Minimized用于此目的
这确实是你应该为此目的使用属性。
我可以使用离焦或表单停用事件来了解窗体是否已最小化?据我所知,表单最小化时不会引发任何事件。
当窗体最小化时,会触发SizeChanged事件。例如,请尝试以下操作:
// Inside the form constructor or load event
this.SizeChanged += Form_SizeChanged;
private void Form_SizeChanged(object sender, EventArgs e)
{
if (this.WindowState == FormWindowState.Minimized)
MessageBox.Show("I'm minimized.");
}
SizeChanged事件应该可以工作,但每当我更改我的表单大小时它也会被触发。 –
确实。但是你会忽略其他调用,只检查WindowState.Minimized。你可以跟踪WindowState属性的改变,但它没有意义,因为SizeChanged只会在表单最小化时触发一次。 –
是的,这工作。谢谢您的帮助。 –
*远的不说,这个属性是不是为我工作* - 请提供一个原因,因为这是唯一的* *(推荐)的方式... – Idos
我还没有想出为什么'FormWindowState.Minimized'不适合我,我只是想找到解决这个问题的方法。有没有其他方法? –
我认为一个更好的方法是尝试和理解为什么'FormWindowState.Minimized'不工作,而不是寻找解决方法...发布您的代码并提供[mcve],我相信人们会喜欢以帮助你 – Idos