.net 控制初始化完成指示?

.net 控制初始化完成指示?,.net,vb.net,winforms,vb6,controls,.net,Vb.net,Winforms,Vb6,Controls,编写自定义控件(继承控件而不是用户控件) 在控件的构造函数中,控件属性值仍然无效(例如位置、高度、宽度、文本等)。 只有在构造函数返回后才调用属性设置器 考虑控制对象初始化已完成的时间点,即在初始设置所有属性的值之后,对象已准备好使用(即第一次绘制)。是否可以在运行时拦截此时间点? 在第一次绘制控制面之前,即在第一次调用“OnPaint”事件处理程序之前,是否存在某种类型的“就绪”或“初始化完成”控制事件,或运行时可能截获的其他指示 多谢 在VB2005上使用Winforms看看这是一个很酷的小

编写自定义控件(继承控件而不是用户控件)

在控件的构造函数中,控件属性值仍然无效(例如位置、高度、宽度、文本等)。 只有在构造函数返回后才调用属性设置器

考虑控制对象初始化已完成的时间点,即在初始设置所有属性的值之后,对象已准备好使用(即第一次绘制)。是否可以在运行时拦截此时间点? 在第一次绘制控制面之前,即在第一次调用“OnPaint”事件处理程序之前,是否存在某种类型的“就绪”或“初始化完成”控制事件,或运行时可能截获的其他指示

多谢


在VB2005上使用Winforms

看看这是一个很酷的小实用程序,它可以向您显示控件的事件顺序。事件文章中的屏幕截图可能会回答您的问题。

您好,如果您接受您的一些问题的答案,可能会有更多的人愿意提供帮助。对不起,我没有意识到“接受”的重要性。我只是对帮助过我的人说了一句话表示感谢。谢谢你的注意。为什么你不能在OnPaint打个电话,并确保它只被调用一次?当然,我可以做到这一点,但它似乎不是一个正确的编码方法。考虑一个图形控件刷新它的表面每秒100次(或更多)。它将执行“第一次油漆”。“每次布尔检查,冗余。虽然运行时消耗成本不会太高(每秒100次布尔检查),但这似乎是一种缺乏方法,或者换句话说:必须有更好的“更干净”的方法来实现:-)当然是一个整洁的应用程序。希望我能用它找到答案。。。谢谢。申请表为+1,但仍未找到答案。再次感谢你的好意。