2010-12-22 132 views
0

我有两个类。第一类有TabPage控件。我想更改Child类(Class B)中TabPage的布局。例如如何将简单的按钮添加到Child类中的tabPage控件?C#TabPage继承

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

不指定accesor你 'TabPage的一个' 变量将设为不公开。这意味着它不会在'B'类中被访问。 制作'TabPage a;'一个'保护',在你的B类中你可以访问变量。然后你可以使用'a.Controls.Add(new Button());为该控件添加一个按钮。 – 2010-12-22 12:29:17

回答

3

更改TabPage的公共

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

    } 
+0

谢谢。将TabPage声明为受保护更好吗? – svlada 2010-12-22 12:42:51

+1

这将取决于你的意图。 http://msdn.microsoft.com/en-us/library/bcd5672a(v=vs.71).aspx和http://msdn.microsoft.com/en-us/library/yzh058ae.aspx – 2010-12-22 12:48:31

1

首先你需要拥有的TabPage在A类是公共的,然后添加你想你的TabPage控制集合中添加控件;在这个例子中,我为TabPage添加了一个按钮,您可以添加更多类似的控件。

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

这真的取决于你的情况,如果你想让TabPage也可以从基类访问,使它公开,否则保护。

对于保护

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