2012-10-18 10 views
5

Na przykład Chcę utworzyć formant użytkownika (formularz okna), który zawiera etykietę i pole tekstowe. I chcę udostępnić dwie kontrole jako właściwość, dzięki czemu mogę ustawić właściwość podrzędnej w projektancie formularzy klienta.Jak odsłonić całą kontrolę nad usercontrol na projektanta WinForm

więc kod może tak:

 
public partial class LabelTextbox : UserControl 
    { 
     public LabelTextbox() 
     { 
      InitializeComponent(); 
     } 

     [ 
      Category("Appearance"), 
      Browsable(true), 
      Description("innerLabel") 
     ] 
     public DevComponents.DotNetBar.LabelX LabelPart 
     { 
      get 
      { 
       return this.labelx; 
      } 

      set 
      { 
       this.labelx = value; 
      } 
     } 


     [ 
      Category("Appearance"), 
      Browsable(true), 
      Description("InnerTextbox") 
     ] 
     public TextBox TextBoxPart 
     { 
      get 
      { 
       return this.textboxx; 
      } 

      set 
      { 
       this.textboxx = value; 
      } 
     } 
    } 

i wtedy widzę go w projektanta, to wygląda:

enter image description here

ale kiedy ustawić wewnętrzną właściwość label usercontrol w projektant, nie może utworzyć kodu relacji w pliku designer.cs. oznacza to, że ustawienia klienta nie zostaną zapisane.

, w jaki sposób mogę rozwiązać ten problem.

Nawiasem mówiąc, pochodzę z CN, mój angielski jest słaby. Każdy może mi odpowiedzieć.

Odpowiedz

6

Ozdoby właściwości formantów podrzędnych z DesignerSerializationVisibility atrybut:

[ 
    Category("Appearance"), 
    Browsable(true), 
    Description("innerLabel"), 
    DesignerSerializationVisibility(DesignerSerializationVisibility.Content) //<-- here 
] 
public DevComponents.DotNetBar.LabelX LabelPart { 
    get { 
     return this.labelx; 
    } 
    set { 
     this.labelx = value; 
    } 
} 
+0

Tak to muszę. thks. – user1754971

Powiązane problemy