我试了不行.我的意思是将动态生成控件的过程放在一个类的方法中.frm 是类名
public void showw()
{
Form1 t=new Form1();
pnl   =   new   Panel();   
pnl.BackColor   =   Color.Blue;   
pnl.Height   =   100;   
pnl.Dock   =   DockStyle.Top;   
t.Controls.Add(pnl);
}
frm t1=new frm();
t1.showw();

解决方案 »

  1.   

    t.Controls.Add(pnl);
    这个有问题吧
      

  2.   

    private void Form1_Load(object sender, System.EventArgs e)
    {
    Panel pnl   =   new   Panel();   
    pnl.BackColor   =   Color.Blue;   
    pnl.Height   =   100;   
    pnl.Dock   =   DockStyle.Top;
    this.Controls.Add(pnl);
    }
    这段代码运行没有问题.可是现在想放到一个类的方法,中就不行了.
    定义一个类.
    class trm
    在类中加一个方法
      

  3.   

    public void showw()
    {
    Form1 t=new Form1();
    pnl = new Panel();
    pnl.BackColor = Color.Blue;
    pnl.Height = 100;
    pnl.Dock = DockStyle.Top;
    t.Controls.Add(pnl);
    t.Show();
    }
      

  4.   

    未处理的“System.ComponentModel.Win32Exception”类型的异常出现在 system.windows.forms.dll 中。其他信息: 创建窗口句柄时出错。
    using System;
    using System.Drawing;
    using System.Collections;
    using System.ComponentModel;
    using System.Windows.Forms;
    using System.Data;
    namespace aryCmd
    {
    /// <summary>
    /// frm 的摘要说明。
    /// </summary>
    public class frm
    {

    static Panel   pnl;
    public frm()
    {
    //
    // TODO: 在此处添加构造函数逻辑
    //
    }
    public void showw()
    {
    Form1 t=new Form1();
    pnl = new Panel();
    pnl.BackColor = Color.Blue;
    pnl.Height = 100;
    pnl.Dock = DockStyle.Top;
    t.Controls.Add(pnl);
    t.Show();
    }

    }
    }frm y=new frm();
    y.showw();
    运行出错