请问如何在打开一个窗体的同时将另一个窗体关闭,是不是主窗体不能被关闭阿??
---可以考虑将主窗体隐藏如何定义在多个窗体都可使用的变量阿???
---做一个类,里面定义好你的static变量,全局都可访问类似登陆窗口那种,当用户输入密码后将登陆窗口关闭,弹出主界面!!!
------考虑将登陆窗口隐藏,或者在static void main(string[] args)
里面,先打开登陆窗口,如果登陆成功
再打开主界面

解决方案 »

  1.   

    如果将主窗体隐藏是不是用到Opacity的属性,在程序中如何调用
      

  2.   

    不用,隐藏就调用那个Form.Hide()方法即可
      

  3.   

    如果用到Form1.Hide()就出现如下错误提示:
    E:\cexe\examine\Form1.cs(205): 非静态的字段、方法或属性“System.Windows.Forms.Control.Hide()”要求对象引用请问如何解决,谢谢
      

  4.   

    private void button1_Click(object sender, System.EventArgs e)
    {
    stringA = textBox1.Text;
    stringB = textBox2.Text;

    bool user,passw;
    user = string.Equals(stringA,"a");
    passw= string.Equals(stringB,"123");
    if(user==false)
    MessageBox.Show("用户名不存在,请重新输入");

    if(user==true && passw==false)
    MessageBox.Show("密码错误,请重新输入");

    if(user==true && passw==true)
    {

    Form2 form2=new Form2();
    form2.ShowDialog();
              Form1.Hide();//编译出错阿

    }
      

  5.   

    Form1.Hide();//编译出错阿
    ---->
     this.Hide();
      

  6.   

    将Form1传到Form2中
    private void button1_Click(object sender, System.EventArgs e)
    {
    stringA = textBox1.Text;
    stringB = textBox2.Text;

    bool user,passw;
    user = string.Equals(stringA,"a");
    passw= string.Equals(stringB,"123");
    if(user==false)
    MessageBox.Show("用户名不存在,请重新输入");

    if(user==true && passw==false)
    MessageBox.Show("密码错误,请重新输入");

    if(user==true && passw==true)
    {

    Form2 form2=new Form2(this);
    form2.ShowDialog();
    }
    再在Form2中关闭
    Form2(Form1 form_1)
    {
    form_1.Dispose();
    }
      

  7.   

    谢谢大家
    用this.Hide();和form_1.Dispose();编译都通过了,但没有效果阿!运行Form2时Form1 还在阿 
    不知问题出在哪里?
      

  8.   

    你放错位置了if(user==true && passw==true)
    {

    this.Hide();
    Form2 form2=new Form2();
    form2.ShowDialog();
           
    }
      

  9.   

    我给你贴个小例子Form2如下:
    在Form2上摆两个Buttonprivate void button1_Click(object sender, System.EventArgs e)
    {
    this.DialogResult = DialogResult.Yes;
    this.Close();
    } private void button2_Click(object sender, System.EventArgs e)
    {
    this.DialogResult = DialogResult.No;
    this.Close();
    }
      

  10.   

    然后修改你的这个方法 /// <summary>
    /// 应用程序的主入口点。
    /// </summary>
    [STAThread]
    static void Main() 
    {
    Form2 f = new Form2();
    f.ShowDialog();
    if(f.DialogResult == DialogResult.Yes)
    {
    Application.Run(new Form1());
    }
    }