C#、CShap用定时器改变当前窗口状态栏上的时间

如题。该怎么实现!?老是说这个线程不在控件所在的线程!怎么办,求指教。因为我不是学C#的,这方面不知道该怎么办... 如题。
该怎么实现!?
老是说 这个线程不在 控件所在的线程!
怎么办,求指教。
因为我不是学C#的,这方面不知道该怎么办
展开
 我来答
lqw718106
推荐于2020-12-28 · 超过34用户采纳过TA的回答
知道答主
回答量:128
采纳率:0%
帮助的人:83.4万
展开全部
~~~ 如下几种方法
一 是 已有的timer控件, 只要设置好时间, 然后处理 Tick 事件即可, 在tick事件里面更新时间.
二 是 用线程, 开一新线程. 然后调用并设置时间, 代码类似于如下 没有.net 环境,~ 没法写具体代码了~~~.
boolean flag = true;
while(flag)
{
thread.sleep(休眠时间, ms单位);
setVal();
}

private void setVal(){
if(control.invokeRequired)
{
control.invoker(xxxxxxxxxxxx);
return;
}
control.Text = "xxxxxxxxxxx";
}
追问
请问里面参数填什么control.invoker(xxxxxxxxxxxx);?
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
styshoo1986
2012-06-06 · TA获得超过893个赞
知道小有建树答主
回答量:832
采纳率:100%
帮助的人:263万
展开全部
你说的问题就是定时器所在的线程不是创建这个控件的主线程,操作控件时,使用invoke函数,这个baidu一下就出来了。
大概样子就是
if(control.InvokeRequired)
{
control.invoke(………………)
}
else
{
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Jarhf
2012-06-06 · TA获得超过1862个赞
知道小有建树答主
回答量:1736
采纳率:25%
帮助的人:1032万
展开全部
是winform吧, 你要用 System.Windows.Forms.Timer ,这个计时器是在 当前 窗口所在的线程内执行的! 不过精度最小为 55毫秒,一般够用了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
天痕_转瞬即逝
2012-06-11
知道答主
回答量:28
采纳率:0%
帮助的人:14.3万
展开全部
也有大哥不会的???哇哈哈
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式