同上哪里错 form4是主窗体 把program.cs里的  Application.Run(new Form4 ( )); 改成这样以后 就报出上面的错误了

解决方案 »

  1.   

    form4你构造函数是什么?去看看就知道了
      

  2.   

    public Form4()看看这里是有参还是无参就行了
      

  3.   

    你给form4构造函数 加了参数的?
      

  4.   

    补充:
    一个窗体传值的类:
    public  class ShareClass
        {
            public class ShareData
            {            int _A;            public int A
                {
                    get { return _A; }
                    set { _A = value; }
                }
                string _B;            public string B
                {
                    get { return _B; }
                    set { _B = value; }
                }
               
            }     }form4是主窗体 、点击弹出 AddItem 、然后获得AddItem上所填的数据之后 点击确定 关闭AddItem 回到form4界面
    在传值的时候  AddItem页面需要写这样一句话
                 Form4 frm = new Form4(data1);//将赋好值的class传递到Form4
                this.Close();是不是这里出错了 
    form4已经在AddItem下面了为什么还要new 
    汗。。
      

  5.   

    Application.Run(new Form4 (null));
      

  6.   


    有啊  public Form4(ShareClass.ShareData data2)这个样子的 别的窗口这样写都对的 为什么代码拷回来就出错了
      

  7.   

    写了Null不就传值传不进去了吗
      

  8.   

    构造函数被改的有参数了:
    在加一个就 行了: public Form4()
            {
                InitializeComponent();        }
      

  9.   

    恩,就是写再写一个无参数构造函数就可以了试试在说
    如:Public Form4()
         {
           ;
         }
      

  10.   

    new 对象 首先运行的是构造函数啊。
    一个类如果没有构造函数,new对象时会提供一个默认的。
    但如果你的构造函数有参数,new对象就要符合构造函数的参数了。
      

  11.   

    对啊  关键是去看看Form4 中的构造函数
      

  12.   

    一个用来传递窗口数据的类:
    public  class ShareClass
        {
            public class ShareData
            {            int _A;            public int A
                {
                    get { return _A; }
                    set { _A = value; }
                }
                string _B;            public string B
                {
                    get { return _B; }
                    set { _B = value; }
                }
                string _C;            public string C
                {
                    get { return _C; }
                    set { _C = value; }
                }
               
            }     }
    数据接收方是form4   数据传送方是AddItem
    所以我在form4中写了
     public Form4(ShareClass.ShareData data2)
            {
                //InitializeComponent();
                ss = data2.B;
    }然后在program.cs中写了 static void Main()
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                Application.Run(new Form4());
            }然后这样就出现错误了:form4不支持0个参数的重载
    在form4中加了个 public Form4()
            {
                //InitializeComponent();
               
    }
    可是这样数据就不能传递过来了要咋么办呀