在一个 Form 上按一个按钮,打开另外一个窗口,把本窗口关闭.
如果不是 98,我用如下代码来做:this.close();
Form1 fm=new Form1();
Application.Run(fm);运行的很好.换成98就不行了,this.close() 后程序就退出了,请问应该怎么做才能打开.

解决方案 »

  1.   

    没有人知道怎么做吗?还是都没有人用 WIN98 了?
      

  2.   

    Form1 fm=new Form1();
    fm.ShowDialog();
    this.Dispose();试一下
      

  3.   

    Form1 fm=new Form1();
    Application.Run(fm);
    this.close();
      

  4.   

    如果可以建议隐藏起来,
    this.Hide();
      

  5.   

    多谢大家的回复,还是没有解决了问题:smile65(防弹马甲) :新的窗口是一个 MDI 父窗口,不能用 ShowDialog 来打开。44404(杨雪) :这样做我试过了,就是新窗口打开了,旧窗口没有关,由于在这个瞬间有两个消息窗口,会出现一些未知的错误,我尝试用 Timer 延迟调用 this.close(),也出现错误,好像 Application.Run 是调用了 WIN32 的什么函数(WIN2003 下出现了 WIN32 错误)zhzuo(秋枫) :实在是不方便隐藏起来,一个原因是换皮肤时,怎么能让另外皮肤的同样窗口同时存在呢?而且是一个 MDI 父窗口。
      

  6.   

    更正一下:Form1 fm=new Form1();
    Application.Run(fm);
    this.close();出问题是出在 WIN32 平台上,在 WIN98 下是运行了 Form1 fm=new Form1() 后就结束了,
    没有执行下面的语句(通过加 MessageBox 框发现的),但再点一下按钮,就执行过去了。