在窗体的load事件中加
Form2.Show();

解决方案 »

  1.   

    楼上的兄弟:应该是:
    Form2 f=new Form2();
    Form2.Show();
      

  2.   

    首先,我希望是form2.showmodal();
    load事件我试过,好像不行,因为这样会先打开form2,关闭后才会显示form1,而我希望的是form1装载并显示后,form2打开(模式)。
    几个例子,试用inshield的时候,打开后会问你是新建工程还是打开上一个工程,等等。
      

  3.   

    简单的方法,在调用form2之前先调用form1的show另外,.NET没有ShowModal()方法,只有ShowDialog()
      

  4.   

    在load事件中
    if(Form1.WindowState!=null )
    {
    Form2 f=new Form2();
    f.ShowDialog();//这就是模式对话框有别与VC
    }
      

  5.   

    回复人: gmmgmm(狂人) :谢谢,你的方法可以,但也有点儿不理想,关闭form2后,form1还要闪一下。
    是ShowDialog方法,习惯了,呵呵!!=============================================
    回复人: yarshray(saga jion) :你的方法好像编译通不过
      

  6.   

    要不这样
    在form1里放一个bool值
    你在load事件里返回一个值(bool型的)
    然后自己定义一个方法判断给bool
    然后Form2 f=new Form2();
    f.ShowDialog();
      

  7.   

    补充,我说的返回值不是return那种
    就是改变public bool型的值!OK!!!!!
      

  8.   

    我觉得你也可以定义一个Timer事件 在Form1 load完成后 可以Timer.Begain
    Form2.ShowDialog();Timer.End;
      

  9.   

    复杂点的先定一个全局变量bool firstLoad = true;然后在Activated事件里面写private void Form1_Activated(object sender, System.EventArgs e) {
    if(firstLoad) {
    firstLoad = false;
    Form2 f = new Form2();
    f.ShowDialog();
    }
    }这样就可以了
      

  10.   

    谁知道Installshield或其他类似程序是如何实现的?
      

  11.   

    上面这种方法不会闪(其实那个闪动应该算是WinForm的BUG)
      

  12.   

    InstallShield那些程序是用VC写的,VC里面你先显示主窗体再显示子窗体不会闪动,但你现在用的是C#,所以我上面那方法应该是最简单好用的,楼主给分吧