2010-12-22 3 views
0

Ich habe zwei Klassen. Erste Klasse hat TabPage-Steuerelement. Ich möchte das Layout von TabPage in der Child-Klasse (Klasse B) ändern. Zum Beispiel, wie man eine einfache Schaltfläche zum TabPage-Steuerelement in der Child-Klasse hinzufügt?C# TabPage Vererbung

Class A 
{ 
    TabPage a; 
} 
Class B : Class A 
{ 
} 
+1

keine Accesor Angabe für Ihre 'TabPage eine' Variable wird es privat machen. Dies bedeutet, dass es in der Klasse "B" nicht zugänglich ist. Machen Sie die 'TabPage a;' ein "geschütztes" und in Ihrer Klasse B haben Sie Zugriff auf die Variable. Dann können Sie die 'a.Controls.Add (new Button()); um dem Steuerelement eine Schaltfläche hinzuzufügen. –

Antwort

3

Veränderung der TabPage zu öffentlichen

class A 
    { 
     public TabPage a; 
    } 
    class B : A 
    { 

    } 
+0

Danke. Ist es besser, TabPage als geschützt zu deklarieren? – svlada

+1

Das hängt von Ihren Absichten ab. http://msdn.microsoft.com/en-us/library/bcd5672a(v=vs.71).aspx und http://msdn.microsoft.com/en-us/library/yzh058ae.aspx –

1

Zuerst müssen Sie TabPage in der Klasse A sein Publikum, dann fügen Sie die Steuerelemente, die Sie in Ihrer TabPage Steuer Sammlung hinzufügen möchten haben; In diesem Beispiel habe ich eine Schaltfläche zur TabPage hinzugefügt, die Sie in ähnlicher Weise viele weitere Steuerelemente hinzufügen können.

class A 
{ 
    public TabPage a; 
} 
class B : A 
{ 
     //Create a control to add and set its properties 
     Button btn = new Button(); 
     btn.Location = new Point(20, 20); 
     btn.Size = new Size(120, 25); 
     btn.Text = "My new Button"; 
     //Add the control to the Tabpage. 
     a.Controls.Add(btn); 
} 

Es hängt wirklich von Ihrer Situation, wenn Sie TabPage zugänglich von der Basisklasse haben wollen, machen es öffentlich anderweitig geschützt.

Für geschützte

class A 
{ 
    //Visible only to Inheriting class; 
    protected TabPage a; 
} 
class B : A 
{ 
     //Create a control to add and set its properties 
     Button btn = new Button(); 
     btn.Location = new Point(20, 20); 
     btn.Size = new Size(120, 25); 
     btn.Text = "My new Button"; 
     //Add the control to the Tabpage. 
     a.Controls.Add(btn); 
     //This will be visible to everybody 
     public TabPage b= a; 
} 
+0

Vielen Dank. Ist es besser, TabPage als geschützt zu deklarieren? – svlada

+1

@svlada ja du hast absolut recht. (Ein upvote) –