C# 最大化事件不触发
我有一个方法,在单击“最大化”按钮或调整窗体大小时应触发:C# 最大化事件不触发,c#,winforms,C#,Winforms,我有一个方法,在单击“最大化”按钮或调整窗体大小时应触发: private void CableID_QueryView_Resize(object sender, EventArgs e) { FormWindowState LastWindowState = FormWindowState.Normal; if (this.WindowState != LastWindowState) { if (this.WindowState == FormWi
private void CableID_QueryView_Resize(object sender, EventArgs e)
{
FormWindowState LastWindowState = FormWindowState.Normal;
if (this.WindowState != LastWindowState)
{
if (this.WindowState == FormWindowState.Maximized)
//do stuff
}
}
但是,事件没有被触发。特别是
if (this.WindowState != LastWindowState)
如果窗体是子窗体,会有区别吗?尝试将其放入
SizeChanged
事件中。是否确定事件已正确连接?你设置断点了吗?第一条线有人打吗?这个.WindowsState的实际值是多少。因为某种原因,它被打了两次电话?我打了。但我要说的是,在调试器中,SizeChanged
事件会被调用两次,无论何时我最大化form@Ben我不知道你说的调试器是什么意思,但我只是运行了你的代码,它只被触发了一次。不可思议的奇怪。。。当我运行它时,我在SizeChanged
方法的第一行放置了一个断点,它正常运行,然后立即再次运行,就像它已经调整了两次大小一样。在还原时,它只触发一次,如果通过单击并拖动来调整窗体大小,它将触发一次。我把Resize
方法都去掉了,效果是一样的。如果你只是在暂停模式下遇到这个问题,那没什么大不了的。当VisualStudio停止程序时,由于VisualStudio导致的突然移动,发送到程序窗口的消息可能会重复。