我要做两个不同的form窗体,第一个窗体(即form1)是登陆,第二个窗体(即for2)是主窗体,,,,当点击第一个窗体的登陆按钮(忽略检查用户名和密码的正确性)时,弹出第二个窗体,而第一个窗体消失~~~~~请问这个功能怎么实现???
我是新手,,,

解决方案 »

  1.   

    可以用第二个show,第一个close或者hidden
      

  2.   


                this.Hide();
                Form2 form2 = new Form2(this);
                form2.Show();即可!
      

  3.   

    第一个不能close掉,除非你的第一个form是showDialog()的!
      

  4.   


    提示错误!~~~~提示:Form2 form2 = new Form2(this);   Form2方法没有采用一个参数
      

  5.   

                DialogResult result = frlogon.ShowDialog();
                if (result == DialogResult.OK)
                {
                    Application.Run(new FormMain());
                }
                else
                {
                    return;
                }
      

  6.   

    我把那个this去掉就了,,运行也是我想要的了,,可我不知道正确方法是不是这样
      

  7.   

    可是这样问题又来了,,,当我进到第二个form窗体,,点标标题栏上的关闭按钮时,,他并没有关闭整个应用程序,,,那我要关闭整个应用程序又该怎么做呢??继续请教
      

  8.   

    form1中
    <input id="Button2" type="button" value="登录" onclick="return Button2_onclick()" />function Button2_onclick() {
    window.open("form2.aspx",target="_parent");
    }
    转到form2这样就可以达到目确!
      

  9.   

    还问 不是告诉你方法了啊记得在第一个窗体点Ok的时候写上
    this.DialogResult = DialogResult.OK;
                        this.Close();
      

  10.   

    static class Program
        {
            /// <summary>
            /// 应用程序的主入口点。
            /// </summary>
            [STAThread]
            static void Main()
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                Form1 frm = new Form1();
                if (frm.ShowDialog() == DialogResult.OK)
                {
                    Application.Run(new Form2());
                }
            }
        }
    public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }        private void button1_Click(object sender, EventArgs e)
            {
                this.DialogResult = DialogResult.OK;
                this.Close();
            }        private void button2_Click(object sender, EventArgs e)
            {
                this.DialogResult = DialogResult.Cancel;
                this.Close();
            }
        }public partial class Form2 : Form
        {
            public Form2()
            {
                InitializeComponent();
            }
        }
    好了
      

  11.   


                this.Hide();
                Form2 fr = new Form2();
                if (fr.ShowDialog() == DialogResult.Cancel)
                {
                    this.Close();
                }
      

  12.   

    最好的方式是把你的form2作为主窗体先创建出来,然后在该窗体的加载事件中创建form1,接着以模式对话框的形式显示。上面的做法不妥之处在于,当你关闭form2的时候form1依然存在,只是被你隐藏了,所以你的程序将不会停止
      

  13.   

    通过FormClosing事件
     private void Form1_FormClosing(object sender, FormClosingEventArgs e)
            {
                Application.Exit();
            }还可以
    private void button1_Click(object sender, EventArgs e)
            {
                Form2 f = new Form2(this);
                f.Show();
                this.Hide();还有中方法估计你也看不懂了
    你先用这两种吧
    等下把的三种也告诉你
      

  14.   

    楼上回答的全不正确。
    VS的Project有两种关闭整个程序的方式一种是所有窗口都被关闭时一种是启动窗口被关闭时默认是后者
    要实现楼主说的,首先要把关闭方式改为前者然后,在FORM1中,不要使用close,而是使用hide,Hide之后把FORM2 SHOW在FORM2的LOAD事件中,再把FORM1 CLOSE