2013-10-04 17 views
5

Bugün, Visual Studio 2012 kullanarak C# adlı özel bir TextButton denetimi oluşturmaya karar verdim. Ancak, tamamladığım bileşimi Visual Studio Tasarımcısı'nı kullanarak bir forma taşımaya karar verdiğimde, bir takılmaya başladım. Text özelliği özellikler listesinde görünmesine karşın, özellik MainWindow.Designer.cs dosyasında gerçekten değiştirilmiyor. BuradaUserControl, Visual Studio Tasarımcısı'nda özellik gösterir, ancak özellik değişmez

[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; 
    } 
} 

Ve MainWindow.Designer.cs dosya ınitializecomponent yöntemini oluşturuyor kod edilir: Aşağıda özelliğini tanımlayan koddur

sorunun
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); 
+0

Bu bir UserControl veya Custom Control'dür, kısaca Button'dan miras alıyorsunuz. –

+0

Bir System.Windows.Forms.Button denetimin tüm görünümünü devralmak için ortaya yerleştirilmiş olan bir UserControl. – NoahWillCrow

cevap

5

Bölüm size olmasıdır UserControl'sText Mülkünü geçersiz kılar. Eğer mülkünüzü, gibi Text dışında başka bir isimle isimlendirirseniz, işe yarayacaktır. Sorunu gidermek için Text'u kullanarak Mülkünüze DesignerSerializationVisibility Özniteliğini eklemeyi deneyin, bununla ilgilenmeniz gerekir.

[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]