首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检测Control.PreferredSize何时发生更改?

如何检测Control.PreferredSize何时发生更改?
EN

Stack Overflow用户
提问于 2010-08-04 04:54:51
回答 1查看 485关注 0票数 1

我使用Control.PreferredSize是为了确定表单的ScrollableControl.AutoScrollMinSize应该是什么。每当控件的PreferredSize属性发生更改,但似乎没有Control.PreferredSizeChanged事件时,就需要设置该属性。有没有一种方法可以检测到这个属性何时发生变化(可能使用Control.WndProc)?我宁愿避免轮询属性,如果可以避免的话。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-08-20 03:36:34

您可以覆盖OnLayout或OnPaint。

代码语言:javascript
复制
    private Size m_CurrentPreferedSize;
    protected override void OnLayout(LayoutEventArgs e)
    {
        base.OnLayout(e);
        Size newSize = PreferredSize;
        if(m_CurrentPreferedSize != newSize)
        {
           m_CurrentPreferedSize  = newSize;
           //Your code here 
        }
    }

每次调用时都会计算PreferredSize。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3400696

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档