C# 测试SQL数据库连接时 winform 界面如何实时刷新控件。

vs2010下C#Winform程序:我想实现的功能是,点击“测试数据库连接”按钮,在界面上,显示进度条,或者显示一个Label内容是倒计时读秒。所用的方法一:添加控件t... vs2010下C#Winform程序:
我想实现的功能是,点击“测试数据库连接”按钮,在界面上,显示进度条,或者显示一个Label内容是倒计时读秒。

所用的方法一:添加控件timer:
System0.Windows.Forms.Timer timer1;
时间间隔设为1秒
添加时间响应:...tick....
碰到的问题是:数据库连接失败后,计时器才被触发,才开始数秒。

所用的方法二:添加控件ProcessBar:
碰到的问题样:数据库连接失败后,ProcessBar才被触发,才开始刷新进度。

以上问题,原因是什么?哪位大侠有解决方法,请赐教。O(∩_∩)O谢谢
展开
 我来答
21d801
推荐于2017-07-29 · TA获得超过660个赞
知道小有建树答主
回答量:830
采纳率:100%
帮助的人:911万
展开全部
如果是我会这样写
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
更改该控件值代码;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友df994bc
2011-08-10 · TA获得超过746个赞
知道小有建树答主
回答量:407
采纳率:0%
帮助的人:313万
展开全部
代码都没放,谁知道你什么原因...
追问
只找有缘人,不懂别插话。
追答
确实不懂,坐看神人如何猜...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式