从另一个类c#向窗体添加窗体控件时出现问题

本文关键字:窗体 问题 控件 添加 另一个 | 更新日期: 2023-09-27 17:58:33

你好,我正在创建一个windows窗体应用程序,我正在尝试创建并添加一个新控件。在这种情况下,它是来自不同类的面板,但当我创建面板并将其添加到窗体时,它不会出现?[注意:我可以用F.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);
    }

从另一个类c#向窗体添加窗体控件时出现问题

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

然后将其添加到所需的表单中。F.控制。增加(c);

这对我来说很好

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