C# WPF 执行耗时操作防止界面卡死,并对运行界面进行操作

在写程序时,有时我们需要连接数据库或者其他服务器,此时可能会消耗很长时间,并出现界面卡死。如果用鼠标点击窗口,会显示“无响应”。这是因为耗时操作在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
  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值