无法更改控件文本

时间:2011-03-18 13:09:24

标签: c# winforms

我写了一个简单的winforms应用程序,它每30秒执行一次任务(使用计时器)。每次提出“时间事件”时都会调用一个函数。

在此功能中,我还尝试更改某些标签中显示的某些文字。我尝试通过调用BeginInvoke来做到这一点 - 但这不会改变文本。

然后我也尝试用简单的.Text = "some Text"来调用它 - 但这也行不通。

如何更改控件的属性?

3 个答案:

答案 0 :(得分:2)

在这种情况下,您无需使用BeginInvoke。基于表单的计时器不会从单独的线程调用。只需在计时器的tick事件处理程序中替换您的调用代码,并直接更新标签的text属性。喜欢:myLabel.Text = "Timer event fired";

答案 1 :(得分:1)

只有在使用线程时才需要BeginInvoke。否则以下应该工作:

label.Text = "some Text";
Update();

答案 2 :(得分:0)

您只需使用Timer控件。并在Timer_tick事件处理程序中编写代码。