【发布时间】:2015-05-07 01:50:35
【问题描述】:
如何判断 VB6 用户控件是否已完成加载?是否有自定义的UserControl_Loaded 事件或其他什么?
【问题讨论】:
标签: vb6
如何判断 VB6 用户控件是否已完成加载?是否有自定义的UserControl_Loaded 事件或其他什么?
【问题讨论】:
标签: vb6
加载是什么意思? UserControl 有一个 Initialize 事件,您应该使用它来设置初始值。然后 VB 本身将加载属性值。在任何其他事件中,您都可以假设控件已设置并准备就绪。
您可以在此处阅读有关 UserControl 的事件顺序:https://msdn.microsoft.com/en-us/library/aa242140%28v=vs.60%29.aspx
【讨论】:
UserControl_Loaded。如果有的话,它的 VB6 版本是什么?
我倾向于将“加载”逻辑放入 InitProperties 和 ReadProperties 事件处理程序中。第一个在将 UserControl 实例添加到 IDE 中的容器(窗体、另一个 UserControl)时调用。第二个在 IDE 中和运行时在所有后续“创建”中调用。
您可以检查 Ambient.UserMode 以确定后续创建的 ReadProperties 事件是否是由于编辑操作与 IDE 或编译运行。
初始化事件总是发生,并且在其他两个事件之前发生。那时 Ambient 和其他上下文对象还不可用。
【讨论】: