如何关闭用户控件的初始化

本文关键字:初始化 控件 用户 何关闭 | 更新日期: 2023-09-27 18:31:22

如何防止用户控件被初始化?我想自己初始化它,而不是在初始化组件()的构造函数中?

如何关闭用户控件的初始化

好吧,这看起来很愚蠢,但您已经回答了您的问题; 删除对InitializeComponent()的调用。 享受重新创建自动生成的设计器代码的乐趣!

编辑:

好的,所以根据您的编辑,我们知道您尝试解决的实际问题是什么:

感谢您的回复,但问题有点不同。这个控件不是我的(它是Windows实时控件)。我希望正确初始化页面中的所有其他控件,并且稍后应根据用户需求加载此控件(它连接到Internet,它是wp7应用程序)。如何实现这一点?

因此,您需要在运行时而不是在设计时添加控件。 这很容易做到。

var ctrl = new SomeControl();
// initialize control properties...
// this is your user control, a control within 
// the user control, whatever the parent should be.
parentControl.Children.Add(ctrl);  

不确定你为什么要这样做。懒惰的初始化,所以不花时间在构造上?

无论如何,创建一个公共方法并将 InitializeComponent 移到那里,也不要忘记创建一个私有字段以确保您不会初始化两次。

private bool _isInitialized;
public void InititializeControl()
{
    if(_isInitialized) return;
    _isInitialized = true;
    InitializeComponent();
} 

然后在必要的时候打电话。.