Winform控件中子控件的生成
我做了一个Winform的控件,主要是做窗体的美化的,直接从winform继承的,然后重写了OnCreateControl事件,在此事件中利用IDesignerHost.CreateComponent来创建子控件,这样在创建控件的时候可以直接在窗体上生成所需要的子控件(也就是在Winform.Designer.cs文件中自动生成创建子控件的代码,这样就可以直接在窗体上对这些控件进行编辑了),但是在每次编辑实例化的窗体时都会再次生成创建子控件的代码,这样就会提示控件名称重复之类的错误,我试着在OnCreateControl中判断在窗体的Controls中是否已经存在了这些子控件,但是不起作用,大家有没有什么好的建议,多谢了
部份代码如下:
protected override void OnCreateControl()
{
base.OnCreateControl();
if (DesignMode)
{
IDesignerHost host = (IDesignerHost)Site.GetService(typeof(IDesignerHost));
if (???)
{
titleBar = host.CreateComponent(typeof(Panel), "titleBar") as Panel;
titleBar.Parent = this;
}
...