各位高人:
    小弟现在在做一个登记系统,我用的VS2005做得,我想让程序运行的时候启动一个主Form,在Form中有一个登陆Form,两者同时显示,如果登陆进去,则登陆Form消失,主Form中有一些菜单,在点击这些菜单后,在主Form菜单上显示相应的菜单Form。
     
     现在的问题是我不知道如何设计程序使得主Form和登陆Form一起显示,还有就是怎么点击相应的菜单后在主Form上显示相应的菜单Form(主Form不消失)。
     谢谢

解决方案 »

  1.   

    启动的时候启动一个登录Form,登陆完成后生成主Form,登录Form隐藏。
      

  2.   

    1:怎么点击相应的菜单后在主Form上显示相应的菜单Form(主Form不消失)
    用MDI啊
    2:主Form和登陆Form一起显示:
    在主form的load中 Login l = new LogIn();
    l.showDialog()就可以了
      

  3.   

    另外把你主Form的IsMdiContainer设为True
      

  4.   

    当mainForm  onShow 之后,再show loginForm,设为TOPMOST
      

  5.   


            Form loginForm = new Form();
            public Form1()
            {
                InitializeComponent();            this.Shown += delegate
                {
                    loginForm.ShowDialog();
                    if (loginForm.DialogResult == DialogResult.Yes)
                    {
                        this.Close();
                    }
                };
            }loginForm只是一个示例,它应该是你的登陆Form。
    loginForm.DialogResult== DialogResult.Yes也只是一个示例,它应该像这样:
    if( ! loginForm.Authenticated )
    {
      this.Close();
    }
      

  6.   

    比如有四个Form:
    MainForm、LoginForm、subForm1、subForm2先启动MainForm,在MainForm的Load()函数里写: LoginForm.ShowDialog();
    如果在输入用户名和密码不正确的情况下可以提示错误,超过三次则 Application.Exit();如果对了则对 LoginForm.Close();主菜单选中哪个Form就对相应的subForm过行Show();[完毕]
      

  7.   

    "现在的问题是我不知道如何设计程序使得主Form和登陆Form一起显示,还有就是怎么点击相应的菜单后在主Form上显示相应的菜单Form(主Form不消失)。 "两个问题其实是同一个问题.
    你不知道如何显示新窗体.是吗?主FORM和登陆FORM一起显示:在主FORM的LOAD事件里添加代码如下,
    登陆FORM f1 = new 登陆FORM();
    f1.ShowDialog(); //显示为模式窗体,在登陆之前什么也干不了.-----------------------------------------------------
    点击相应的菜单后主FORM上显示响应的菜单FORM(不让主FORM消失):在菜单的点击事件里添加代码如下,
    菜单FORM f2 = new 菜单FORM();
    f2.MdiParent = this;
    f2.Show();
      

  8.   

    主窗体的load事件中添加登陆窗体的初始化:
    loginForm lf = new loginForm();
    lf.ShowDialog();
    在lf的登陆事件中写你登陆的代码,如果登陆出错,你可以让程序结束:
    Application.Exit();
    关于菜单的,上面的可能是符合你的要求的,但是我还不是特别明确你的意思