C#表格不隐藏

时间:2014-12-21 15:42:32

标签: c# forms

我正在申请,我有2个表格。主要表单(主应用程序)和登录表单,将启动。如果用户有API密钥,则会进行检查,如果正确,则应隐藏登录表单并显示主表单。如果不正确或用户根本没有api密钥,则应继续显示登录表单,如果登录详细信息正确,则应隐藏登录表单并显示主表单。

如果我登录并且我的详细信息正确,则会隐藏登录窗口并显示主窗体,但是,如果我有一个API密钥并且它是正确的,则它不会隐藏登录表单。

这是我的登录详细信息正确的时候:

case "True":
string apiToken = subparts[0];

RegistryKey key = Registry.CurrentUser.CreateSubKey("Prtscreen");
key.SetValue("API_TOKEN", subparts[0]);
key.Close();

MessageBox.Show("Logged in as " + username.Text);

UserDetails.UserName = username.Text;
UserDetails.APIKey = subparts[0];

this.Hide();
new MainForm().Show();
break;

会发生什么:我的详细信息是正确的,登录窗口消失了'和主要表格显示。现在,这是我有一个API密钥,它是正确的:

UserDetails.UserName = result.Split('|')[1];
UserDetails.APIKey = value.ToString();

this.Hide();
Program.MainForm = new MainForm();
Program.MainForm.Show();

return true;

但出于某种原因,它并没有隐藏登录窗口。这两个代码都在登录表单代码文件中。我不知道会有什么不同。

1 个答案:

答案 0 :(得分:0)

我不认为表单可以更改其可见性,也不会在自己的Load事件中调用Show / Hide。要快速修复,您可以使用计时器暂时延迟检查,直到表单完成加载。在计时器过去/刻度事件中,您将调用CheckAPI方法。