我有一个普通的C# Windows 窗体应用程序,它有一个窗体和几个文本框/标签,它们在自己的线程中运行(我的理解)。(赢 7 64 / VS 2008 / 净 2)。
现在我想在我的基础应用程序停留在第一个线程中时启动第二个线程。第二个线程将检索一些系统信息并将其输入到标签中,而我的用户仍然能够填写文本框,而信息将由第二个线程检索。因此,据我了解,优势在于,用户不必等到检索信息完成,并且主应用程序不会在那段时间内挂起。
假设我希望这段代码在第二个线程中执行,该线程在 Form_Shown 事件中开始:
Label1.Text = GetInternetIP();
try
{
Label2.Text = System.Net.Dns.GetHostEntry(Label1.Text).HostName.ToString();
}
catch{MessageBox.Show("Fatal Error."); Process.Start("shutdown.exe", "-r -t 2"); this.Activate(); SendKeys.Send("%{F4}");}
我将不胜感激有关如何设置“新线程”的详细说明。我是一个新手,但我想学习一些新东西并优化(加速)我的第一个应用程序。
Label1 和 Label2 位于主窗体 (Form1) 上的主线程中。所以我必须在那里获取检索到的信息。