2011-03-04 111 views
1

我写过一个vs2005的winform控件。winform设计器加载失败

此控件从UserControl继承。起初,它运作良好。但过了一段时间,加载winform设计器时发生错误。

错误消息是如下:

"NameCaption"不是"System.Windows.Forms.UserControl"类型的属性。

这里是定义NameCaption

public string NameCaption 
{ 
    get 
    { 
     return this._nameCondCaption; 
    } 
    set 
    { 
     this._nameCondCaption = value; 
     this.nameLabel.Text = value; 
    } 
} 
private string _nameCondCaption = "Name"; 

我觉得NameCaption是不是根本原因。

我该如何解决这个问题?

谢谢先进。

+0

你们是不是要投你的用户控件控件类?像这个UserControl ctrl = MyUserControl,然后ctrl.NamedCaption?像这样? – Anuraj 2011-03-04 06:38:47

+0

我没有做这样的演员。 – bucherren 2011-03-04 08:12:11

回答

0

我已经改变了这样的代码:

public string NameCaption 
{ 
    get 
    { 
     return this.nameLabel.Text; 
    } 
    set 
    { 
     this.nameLabel.Text = value; 
    } 
} 
private string _nameCondCaption = "Name"; 

现在,它的工作原理。但我仍然不明白为什么。

0

你可以尝试使其隐藏使用DesignerSerializationVisibility属性这样的设计器序列:

[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] 
public string NameCaption 
{ 
    get 
    { 
     return this._nameCondCaption; 
    } 
    set 
    { 
     this._nameCondCaption = value; 
     this.nameLabel.Text = value; 
    } 
} 
private string _nameCondCaption = "Name";