在写程序时,有时我们需要连接数据库或者其他服务器,此时可能会消耗很长时间,并出现界面卡死。如果用鼠标点击窗口,会显示“无响应”。这是因为耗时操作在UI线程中,阻塞了UI线程,所以网上大多数建议采用多线程,将耗时操作和UI线程分开。以下以连接数据库为例。
首先要using System.Threading;
然后创建连接数据库的sqlconnection
string connString = Properties.Settings.Default.ConnectionString; //设置连接字符串,这里的连接字符串在程序中设置好了,直接引用过来。
SqlConnection conn = new SqlConnection(connString); //创建一个SqlConnection实例
接着,将耗时操作定义在一个函数中
void connect()
{
try
{
conn.Open();
}
catch (Exception ex) { MessageBox.Show("连接失败:\r\n" + ex.ToString());}
finally
{
//此时,你可能需要对界面进行一些操作,比如更改某个Label的文字,或者关闭窗口。如果直接用Label.content="";或者thi