Noa*_*ley 9 c# user-controls winforms visual-studio-2012
所以今天,我决定使用Visual Studio 2012在C#中创建一个自定义TextButton控件.我非常喜欢我所做的设计,尽管很简单.但是,当我决定使用Visual Studio Designer将完成的组件移动到表单中时,我遇到了障碍.虽然Text属性显示在属性列表中,但实际上并未在MainWindow.Designer.cs文件中更改该属性.下面是定义属性的代码:
[Category("Appearance")]
[Description("The text displayed by the control.")]
[Browsable(true), EditorBrowsable(EditorBrowsableState.Always)]
public override string Text
{
get
{
return Button.Text;
}
set
{
Button.Text = value;
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的MainWindow.Designer.cs文件在InitializeComponent方法中创建的代码:
this.Open = new UI.Controls.TextButton();
this.Open.Location = new System.Drawing.Point(9, 3);
this.Open.Name = "Open";
this.Open.Size = new System.Drawing.Size(112, 28);
this.Open.TabIndex = 4;
this.Open.Click += new System.EventHandler(this.OpenButton_Click);
Run Code Online (Sandbox Code Playgroud)
部分问题是您要覆盖该UserControl's
Text
财产.如果您将您的财产命名Text
为其他名称,myText
那么它将起作用.为了解决您使用的问题,Text
尝试将DesignerSerializationVisibility
属性添加到您的属性,应该处理它.
[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
9513 次 |
最近记录: |