【发布时间】:2012-02-03 09:34:44
【问题描述】:
我在ResizeEnd 事件的表单中编写了某些代码。现在的问题是,当通过在标题栏上单击并拖动来移动表单时,ResizeEnd 事件被触发并且代码被执行,即使表单大小没有改变。
我浏览了 Resizeend 事件的 MSDN 文档,它说当表单移动时该事件将触发(不明白为什么在大小未更改时会发生这种情况)。
为了解决问题,我设置了 if 条件来检查大小是否更改,如下所示,以停止执行表单移动上的代码:
int Prv_Height; int Prv_Width;
private void TemplateGrid_ResizeEnd(object sender, EventArgs e)
{
if (this.Size.Width != Prv_Width || this.Size.Height != Prv_Height)
{
Prv_Width = this.Size.Width;
Prv_Height = this.Size.Height;
//Other code here when form resize ends...
}
}
那么有什么方法可以阻止ResizeEnd 事件在表单移动时触发?或任何其他更好的方法来解决这个问题?
【问题讨论】:
-
感谢您提出这个问题,这也是我的问题。这个事件的行为对我来说似乎很奇怪。
-
请考虑 SizeChanged 事件。
标签: winforms