【发布时间】:2009-03-30 03:26:05
【问题描述】:
我在关闭 C# Windows 窗体应用程序时遇到问题。它目前只会给我一个没有标题或任何东西的空白表格。 我需要想办法关闭这个未知的小窗口。
我有 2 个表单页面,一个用于登录屏幕,一个用于实际应用。全部由 program.cs 文件运行。
program.cs
...
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new PROG1());
}
这只是 Visual Studio 创建的用于运行我的程序的基本主程序。
然后我们有主程序
PROG1.cs
...
public PROG1()
{
Login LoginForm = new Login();
DialogResult a = LoginForm.ShowDialog();
if(LoginForm.ValidLogin == 1) {
InitializeComponent();
} else {
Application.Exit(); //FAIL
}
}
您可以看到,第一个 program.cs 文件调用了 PROG1.cs,它调用了 login.cs 的实例。如果您插入一个有效的登录,登录页面将关闭,主 PROG1 将按原样显示。但是,如果您只是单击红色 X 关闭登录表单,它会出现 Prog1 和 LoginForm.ValidLogin != 1 所以它不会初始化表单并会尝试关闭表单。这只会给我留下未初始化的表格,而不是关闭它。如果我执行 this.close() ,它会给我一个运行时错误。
有什么想法吗?
【问题讨论】: