我有三个窗体:注册窗体A,登陆窗体B,主界面窗体C,其中主界面窗体c是主程序运行的也就是Application.Run(窗体c)。
  private void C_Load(object sender, EventArgs e)
        {
            B b = new B();
            if (b.ShowDialog(this) == DialogResult.OK)
            {
                b.Dispose();
            }
        }
这段代码是说:加载窗体c的时候调用窗体b,效果也就是先弹出b,不显示c
接着我在弹出的窗体b中有个按钮,代码如下:
  private void button_Click(object sender, EventArgs e)
        {
            A a = new A();
            a.Show();
            this.Close();
            a.Text = "用户注册";
          
        }
这段代码是说:点击b的按钮弹出窗体a,并且关闭窗体b
我是想只显示一个窗口,可是出问题了,我单击b中的按钮时,窗体b确实关掉了,但是这时候主界面c却弹出来了,
为什么会这样?我该怎么阻止c弹出?

解决方案 »

  1.   

    因为你把B给关了A就可以继续load了
      

  2.   

    B关掉了,C的load继续执行,显示c,要想不显示,直接关掉C
      

  3.   

    干嘛不在B中判断下,注册了的就登录,没有注册的提示,注册完登录,再关B,又要转到A注册,你不烦用户都烦
      

  4.   

    因为你把B关闭C就可以继续load了
    你想C不load出来你就不要关掉B建议你把窗体名字到过来,A做主界面