我在这里遇到一个小问题..这有点烦人..因为这个我无法调试我的应用程序.. 我的问题是..当我尝试通过代码自动打开新表单时。它不会打开其他形式。但是当您在表单上单击按钮时。它会打开..我认为这有点奇怪..因为它使用相同的代码......
这是我的按钮代码,用于打开新表单(而且效果很好。):
private void button1_Click(object sender, EventArgs e)
{
label4.Text = "Login in... Please wait.";
Properties.Settings.Default.username = usernameText.Text;
if (checkBox1.Checked == true)
{
Properties.Settings.Default.check1 = true;
Properties.Settings.Default.password = passwordText.Text;
if (checkBox2.Checked == true)
{
Properties.Settings.Default.check2 = true;
}
}
Properties.Settings.Default.Save();
button1.Enabled = false;
checkBox1.Enabled = false;
checkBox2.Enabled = false;
startLoginWorker();
}
以下是自动打开它的其他代码:
private void loginForm_Load(object sender, EventArgs e)
{
String appDataFolder = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData).ToString();
String gpsPath = appDataFolder + "/GameProfileSaver";
label4.Text = "Checking files...";
if (!File.Exists(gpsPath + @"\ICSharpCode.SharpZipLib.dll") || !File.Exists(gpsPath + @"\ICSharpCode.SharpZipLib.dll"))
{
//startDownload("dll");
button1.Enabled = true;
}
else
{
button1.Enabled = true;
label4.Text = "File check complete. Ready for login.";
progressBar1.Value = 100;
}
if (checkBox2.Checked == true)
{
button1.PerformClick();
}
“button1.PerformClick()”只需按代码单击按钮对吗?不应该有任何区别.... 我甚至试图将那些代码放入if语句中......仍然没有。
这是完全耗尽的代码:
System.Threading.Thread t = new System.Threading.Thread(new System.Threading.ThreadStart(oppenMainForm));
t.SetApartmentState(ApartmentState.STA);
t.Start();
Openmainform:
private void oppenMainForm()
{
Application.Run(new Form1(usernameText.Text));
}
如果有人有任何建议......请帮助我......这很令人沮丧。