C#选项卡页继承

C#选项卡页继承,c#,.net,inheritance,tabpage,C#,.net,Inheritance,Tabpage,我有两节课。第一个类具有TabPage控件。我想更改子类(B类)中TabPage的布局。例如,如何在子类中将简单按钮添加到tabPage控件 Class A { TabPage a; } Class B : Class A { } 将选项卡页更改为public class A { public TabPage a; } class B : A { } 将选项卡页更改为public class A {

我有两节课。第一个类具有TabPage控件。我想更改子类(B类)中TabPage的布局。例如,如何在子类中将简单按钮添加到tabPage控件

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

将选项卡页更改为public

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

    }

将选项卡页更改为public

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

    }

首先,您需要将类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;
}

首先,您需要将类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;
}

不为“TabPage a”变量指定accesor将使其成为私有变量。这意味着它在“B”类中不可访问。将“TabPage a;”设为一个“受保护”的变量,在您的B类中,您可以访问该变量。然后可以使用“a.Controls.Add(new Button());向该控件添加按钮。不为“TabPage a”变量指定accesor将使其成为专用变量。这意味着它在“B”类中不可访问。将“TabPage a;”设为一个“受保护”的变量,在您的B类中,您可以访问该变量。然后可以使用“a.Controls.Add(new Button());为该控件添加按钮。谢谢。是否最好将TabPage声明为受保护?这将取决于您的意图。谢谢你。是否最好将TabPage声明为受保护?这将取决于您的意图。谢谢你。将TabPage声明为受保护是否更好?谢谢。将TabPage声明为受保护是否更好?