【问题标题】:Prevent window redraw when resizing c# windows forms调整 c# windows 窗体大小时防止窗口重绘
【发布时间】:2011-01-22 03:24:11
【问题描述】:

为了阻止窗口重绘调整大小的每个像素,我可以收听哪些窗口消息或事件?

也就是说,当用户单击窗口的边缘并开始调整它的大小时,我不想重新绘制整个内容,直到他放手为止。这是因为由于某种原因,它目前在调整大小时很不稳定,可能是因为一切都在重新对接,什么都没有。

我尝试了 WM_SIZING 但这只是告诉我它正在调整大小,我希望知道调整大小的开始和结束,以便我可以暂停布局,直到用户停止调整大小。

【问题讨论】:

    标签: c# winforms resize form-control


    【解决方案1】:

    没关系,刚刚找到这两个事件。

    this.ResizeBegin += (s, e) => { this.SuspendLayout(); };
    this.ResizeEnd += (s, e) => { this.ResumeLayout(true); };
    

    工作愉快

    【讨论】:

    • 接受这个作为答案,对以后搜索相同问题的人很有用
    • 它说我必须等待 2 天才能回答我自己的问题
    • +1 用于在事件分配中使用 Lambda 语法。但是,用户请注意:如果这种使用 'e 的语法在诸如表单加载事件之类的东西中使用,或者使用标准 'e 名称作为 EventArgument 类型参数的任何东西:变量名称 'e 将已经在使用中,所以更改为 'evt 之类的其他内容可能会很方便。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多