你想怎样? 想退出你就在ChildForm里面加一个Timer,一段时间后就退出.
如果你想实现在主Form中写代码退出我觉得得写MultiTheading

解决方案 »

  1.   

    rouser(明灭由心): 我想这东西没那么复杂吧。
      

  2.   

    干吗刚显示出来就退出?在主窗体上写
    子窗体.close(),就是了
      

  3.   

    TO MEELON(桃酥): 主窗体中写frm.ShowDialg() == DialogResult.OK,再写上CLOSE没用的。我说了,一定要ShowDialog(),然后进入子窗体,然后再退出。至于为什么要这样,我当然有用了。
      

  4.   

    如果你要进入子窗体立即退出的话,那么在子窗体的构造函数里写this.Close(),如果你要过一段时间再退出的话,那么就在子窗体加一个timer控件,在子窗体的构造函数里用timer1.Star();在经过了指定时间以后调用this.Close()。主窗体中写frm.ShowDialg() == DialogResult.OK,再写上CLOSE没用的。那是因为你用的是ShowDialg(),在子窗体关闭以前,主窗体无法继续执行下去了,除非你是使用多线程编程。
      

  5.   

    yongjin25(天若有情) :你说了等于没说。这些我都知道,我不想用多线程是不想那么麻烦,因为程序简单就是美。关键是在主窗体中:frm.ShowDialg() == DialogResult.OK,然后会调用子窗体frm,怎么让他马上退出。
      

  6.   

    你是要主窗体退出?
    不好意思,我以为是你想让子窗体退出。
    那就这样:this.Hiden();
    frm.ShowDialg() == DialogResult.OK;就OK了!
      

  7.   

    如果想实现程序加载时的等待窗体,那应该在主窗体构造函数里让子窗体弹出,在子窗体里放一个timer,在子窗体的构造函数里写timer1.Star();经过一点时间以后,在子窗体执行this.Close();你不说清楚,让我们大家一起猜你想干什么,我们怎么帮你?
      

  8.   

    好吧。我还是把我为什么要这样做的意图说出来。
    首先是一个主窗体,然后是一个登陆窗体。因为我在登陆窗体中有一个自动登陆功能。所以当我检测到要自动登陆时,就把登陆窗体中的信息记下来,然后关闭登陆窗体。不过其实办法挺多的,用多线程,通过注册表都行,我主要是看一下能不能用这个。
    简易代码:
    调用登陆窗体:
    if ( frm.ShowDialg() == DialogResult.OK)
    {
    MessageBox.Show("已经登陆!");
    }登陆窗体:
    假设标志为自动登陆,我马上退出。就这样。
    谢谢你们这样热心。
      

  9.   

    可以这样:
    如果手动登陆就用frm.ShowDialg();
    如果自动就用this.owner.enable=false;
                frm.Show();
    登陆完后this.owner.enable=true; 就行了。只是一个想法。
      

  10.   

    if ( frm.ShowDialg() == DialogResult.OK)
    {
    MessageBox.Show("已经登陆!");
    frm.Dispose(true);
    }
      

  11.   

    首先,要建立一个ini文件,用于保存自动登陆选项,否则下次打开还是变成不是自动登陆了,而且也不能保存用户名密码之类的例:[autoload]
    autoload=true;
    username=......;
    password=......;在frm.ShowDialg()之前检查autoload是否为true,如果是的话,读取用户名密码,然后MessageBox.Show("已经登陆!");,如果不是的话,则frm.ShowDialg()。如果你要写在frm的构造函数里也行,如果autoload为true的话,读入用户名密码,再this.Close();