问一下,我在Form1初始化的时候想做一些操作。
那么这些操作的代码应该放在Form1()中去写还是Form1_Load()中去写?
在Form1()中写与在Form1_Load()中写有什么区别?
一般的做法是在Form1()中写还是在Form1_Load()中写?

解决方案 »

  1.   

    这两地方都可以写。
    其实跟一下代码就知道,代码运行的顺序是先走Form1()加载完里面的界面控件后,然后再运行Form1_Load()里的代码
      

  2.   

    一定要进行初始化的,就放在构造函数里。因为如果你不 form1.Show(),那么Load是不会执行的,Load是在窗体显示之前调用,如果我们不需要显示,它就不会执行。
      

  3.   

    ????Load事件在new 的时候就执行了的
      

  4.   

    cja03说的很清楚啊,构造函数中进行初始化,然后Load时间对应的函数在form类调用Show方法的之前执行。因为一般窗体new出来都会直接调用Load函数,所以具体放在在哪个里面基本都一样了。
      

  5.   

    在new的时候Form()先执行,然后执行Load..至于Show()就像一台电视机一样,只作显示作用。可以用这段代码测试一下哈
     public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
                MessageBox.Show("我在new方法里");
            }        private void Form1_Load(object sender, EventArgs e)
            {
                MessageBox.Show("我在load方法里");
            }
        }
      

  6.   

    构造函数一般是用来初始化成员数据的,如:this.成员变量=值
    而Load是在窗体启动里自动加载的,如:button1.Enabled = false;就可以放在Form_Load()里
      

  7.   

    呵,不是的。    public partial class Form2 : Form
        {
            public Form2()
            {
                InitializeComponent();
            }        private void Form2_Load(object sender, EventArgs e)
            {
                MessageBox.Show("form2开始Load了");
            }
        }            Form2 form = new Form2();//仅new
                //form.Show();  不Show的话,form不会执行Load;
                form.DoSomething();//我仅要调用一个方法,但不需把form显示出来。
      

  8.   

    确实这样
    刚又新建了一个Form试了一下,只做new的动作还真只执行了结构方法的代码。。