我写了一个简单的winforms应用程序,它每30秒执行一次任务(使用计时器)。每次提出“时间事件”时都会调用一个函数。
在此功能中,我还尝试更改某些标签中显示的某些文字。我尝试通过调用BeginInvoke
来做到这一点 - 但这不会改变文本。
然后我也尝试用简单的.Text = "some Text"
来调用它 - 但这也行不通。
如何更改控件的属性?
答案 0 :(得分:2)
在这种情况下,您无需使用BeginInvoke
。基于表单的计时器不会从单独的线程调用。只需在计时器的tick事件处理程序中替换您的调用代码,并直接更新标签的text属性。喜欢:myLabel.Text = "Timer event fired";
答案 1 :(得分:1)
只有在使用线程时才需要BeginInvoke。否则以下应该工作:
label.Text = "some Text";
Update();
答案 2 :(得分:0)
您只需使用Timer
控件。并在Timer_tick
事件处理程序中编写代码。