为什么没人理我。555!
说简单一点:
在form1的Main()中:
Application.Run(new Form2());
在Form2中,检验用户名和密码,加入button1的Click事件用于检验正确与否。当通过验证时,点击button1返回Form1,但Form2无法关闭。
我在Form2中调用的是this.Close();

解决方案 »

  1.   

    感谢您使用微软产品。你可以通过如下的思路来实现目标:
    1,在Form1-主窗口中:
    public static bool valid = false;
    ……
    private void Form1_Load(object sender, System.EventArgs e)
    {
    Form2 form2 = new Form2();
    form2.ShowDialog();
    if(!valid)
    this.Close();
    }
    其中Form2为自定义对话框,用于验证用户的合法性。
    2,在Form2-自定义对话框中:
    private void button1_Click(object sender, System.EventArgs e)
    {
    Form1.valid = true; //如果是合法用户,则赋值为true,否则为false
    this.Close();
    }
    在确定按钮中,验证用户的合法性,如果为合法用户,则赋值Form1.valid = true;,否则为false.
    Form1-主窗口,根据静态属性valid,判断是否显示窗口或者关闭窗口。
    — 微软全球技术中心 VB支持中心本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。具体事项可参见使用条款(http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。
    为了为您创建更好的讨论环境,请参加我们的用户满意度调查(http://support.microsoft.com/directory/worldwide/zh-cn/community/survey.asp?key=(S,49854782))。
      

  2.   

    多谢!
    但是,在Form2中无论我输入正确或错误的用户名和密码,Form2都关闭,显示Form1.我希望在输入错误的情况下,程序依然停留在Form2中等待用户输入。如何解决?
      

  3.   

    设置一个bool变量isok判断输入是否正确(正确的话isok为true)
    然后重载Form2的Closing函数,加入
    e.Cancel=!isok;
    这样就可以了