如何在运行时设置控件的修改器?

时间:2013-02-10 04:57:18

标签: c# winforms access-modifiers design-time

private void referenceDesk_DoubleClick(object sender, EventArgs e)
{
    tabControl1.TabPages.Add(new TabPage("Donkey Kong"));
}

没有tabControl1.Modifier类型命令可以使用,也无法使用

new public TabPage("");

2 个答案:

答案 0 :(得分:1)

Modifiers设计时属性控制要修改的对象的成员创建。这不是你以后可以改变的。如果要将选项卡页面添加到选项卡控件并希望以后能够更改它们,请为它们定义类成员并为其分配适当的访问修饰符:

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private List<TabPage> tabPages;

    private void referenceDesk_DoubleClick(object sender, EventArgs e)
    {
        tabPages = new List<TabPage>();
        tabPages.Add(new TabPage("First"));
        tabPages.Add(new TabPage("Second"));
        foreach (var tab in tabPages)
            tabControl1.TabPages.Add(tab);
    }

    ....
}

答案 1 :(得分:0)

设计器代码不应该由用户修改,因为每次在设计器中更改表单时,Visual Studio都会重写它(如您所发现的那样)。

将控制声明和初始化移动到非设计器代码文件的一种方法。但是,这意味着您的控件将不再出现在设计器中。