c# - SizeChanged 事件,但仅在全部更改完成后发生

标签 c# winforms resize

每当用户调整表单大小时,我需要使用 Windows ChartSizeChanged 事件以正确的比例重新绘制。

但是当用户调整表单大小时(通常通过拖动表单的边框),此事件会被触发很多次,并且我不想在整个操作过程中继续重新绘制,仅当用户停止调整表单大小。

有办法做到这一点吗?

最佳答案

While the user is resizing the form (normally, by dragging the form's borders), this event is fired a lot of times and I don't want to keep replotting

您可以使用 Form.ResizeEnd Event 来处理此行为。当用户完成调整表单大小时引发此事件,通常是通过拖动位于表单右下角的边框之一或调整大小夹点,然后释放它。

例如:

private void Form1_ResizeEnd(Object sender, EventArgs e) 
{
   MessageBox.Show("You are in the Form.ResizeEnd event.");
}

更新:

根据@Reza Aghaei 下面的评论,如果用户选择最大化 按钮,则不会引发此事件。请see他的回答有更多细节。

引用文献:

Form.ResizeEnd Event关于微软

关于c# - SizeChanged 事件,但仅在全部更改完成后发生,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59197182/

相关文章:

c# - 从 VS2017 发布 Azure 函数不会在 azure 门户上显示文件?

c# - 反序列化具有未知值名称的 JSON 并在 C# 中获取所述名称

mysql - 文本框上的数据字段

.net - 如何用 IoC 容器组织 MVP?

android - 9 补丁背景图像的布局问题

java - 尝试通过将 "=sxx"附加到 URL 来从应用程序引擎获取调整大小的图像

c# 如何向内存流添加换行符

c# - Html 敏捷包/C# : how to create/replace tags?

c# - 从另一个 DataContext 加载?

javascript - iPad 不会触发从垂直到水平的调整大小事件?