问题从另一个类c#添加表单控件

时间:2014-04-15 06:54:51

标签: c# forms controls panel

您好我正在创建一个Windows窗体应用程序,我正在尝试创建并添加一个新的控件,在这种情况下它是一个来自不同类的Panel,但是当我创建了Panel并将其添加到窗体时它没有'出现了什么? [注意:我可以使用F.text(“Some text”)更改表单的文本;但F.Controls.Add(panel1);不起作用]。

这是我的代码:

public static void Create(Form1 F)
    {
         //this works:
         F.Text = "DEFAULT TEXT";
         Panel test = new Panel();
         test.Dock = DockStyle.Fill;
         test.BackColor = System.Drawing.Color.Black;
         test.Show();
         //this does not:
         F.Controls.Add(test);
    }

2 个答案:

答案 0 :(得分:1)

如果要从其他类添加控件,请使用“查找”控件  控制c = fr.Controls [" controlname"];

然后将其添加到您想要的表单。 F.controls.add(C);

答案 1 :(得分:0)

这对我来说很好用

    public Form1(){
 InitializeComponent();
            Create(this);

        }

        public static void Create(Form1 F)
        {
            //this works:
            F.Text = "DEFAULT TEXT";
            Panel test = new Panel();
            test.Dock = DockStyle.Fill;
            test.BackColor = Color.Blue;

            //test.Show(); this is irrelevant
            //this does not:
            F.Controls.Add(test);