vs2010下C#Winform程序:
我想实现的功能是,点击“测试数据库连接”按钮,在界面上,显示进度条,或者显示一个Label内容是倒计时读秒。
所用的方法一:添加控件timer:
System0.Windows.Forms.Timer timer1;
时间间隔设为1秒
添加时间响应:...tick....
碰到的问题是:数据库连接失败后,计时器才被触发,才开始数秒。
所用的方法二:添加控件ProcessBar:
碰到的问题样:数据库连接失败后,ProcessBar才被触发,才开始刷新进度。
以上问题,原因是什么?哪位大侠有解决方法,请赐教。O(∩_∩)O谢谢
提问者采纳
如果是我会这样写 1 数据库操作类(只列出涉及到的 变量或函数) 申明三个事件 OnConnecting和OnConnected和OnErrorConnect() 某个操作函数 using(SqlConnection conn= new SqlConnection(connstr)) { //初始化工作比如cmd的弄上sql或者其他dataadapter的初始化和赋上变量 OnConnecting(); conn.Open(); //catch一下,若exception则调用error事件 OnConnected(); } 2 界面控制 当触发数据库操作前绑定相关事件,然后再事件处理函数里面更改界面控件的值 因为事件的线程和UI线程是不同的 因此事件处理中需要这样调用 if(某个控件.Invokerequired) { 某个控件.Invoke( 更新该控件的处理的匿名代理); } else 更改该控件值代码;