C# Can';t更改控件的文本

C# Can';t更改控件的文本,c#,winforms,C#,Winforms,我编写了一个简单的winforms应用程序,它每30秒执行一次任务(使用计时器)。有一个函数,它在每次引发“时间事件”时都被调用 在这个函数中,我还试图更改某些标签中出现的一些文本。我试图通过调用BeginInvoke来实现这一点,但这不会改变文本 然后我也尝试用simple.Text=“some Text”来调用它,但这也不起作用 如何更改控件的属性?在这种情况下,不需要使用BeginInvoke。基于表单的计时器不会从单独的线程调用。只需将计时器的tick事件处理程序中的调用代码替换为标签文

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

在这个函数中,我还试图更改某些标签中出现的一些文本。我试图通过调用
BeginInvoke
来实现这一点,但这不会改变文本

然后我也尝试用simple
.Text=“some Text”
来调用它,但这也不起作用


如何更改控件的属性?

在这种情况下,不需要使用
BeginInvoke
。基于表单的计时器不会从单独的线程调用。只需将计时器的tick事件处理程序中的调用代码替换为标签文本属性的简单更新。例如:
myLabel.Text=“触发计时器事件”

在这种情况下,您不需要使用
BeginInvoke
。基于表单的计时器不会从单独的线程调用。只需将计时器的tick事件处理程序中的调用代码替换为标签文本属性的简单更新。例如:
myLabel.Text=“触发计时器事件”

只有在使用线程时才需要启动。否则,应采用以下方法:

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

只有在使用线程时才需要BeginInvoke。否则,应采用以下方法:

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

您只需使用
定时器
控件。然后将代码写入
计时器_tick
事件处理程序。

只需使用
计时器
控件即可。并在事件处理程序中写入您的代码。

请发布一些代码,以便我们了解您是如何尝试更改的。您可以发布一些代码吗?只有在使用线程时才需要BeginInvoke。您确定您的计时器滴答事件实际上正在触发吗?请发布计时器设置和启动代码。请发布一些代码,以便我们可以看到您是如何尝试更改的。您可以发布一些代码吗?只有在使用线程时才需要BeginInvoke。您确定您的计时器滴答事件实际上正在触发吗?请发布计时器设置和启动代码。我尝试按照您描述的方式简单调用text属性,但它不起作用。我尝试按照您描述的方式简单调用text属性,但它不起作用。如果代码是单线程的,并且计时器启动的方法很长,则需要更新。否则,窗口将保持未刷新状态,直到有东西迫使它重新绘制(鼠标悬停、最小化和还原等)。由于某些原因,它对我不起作用。我改变了代码中的更新位置,不知怎么的,它开始工作,为我解决了问题。谢谢如果代码是单线程的,并且计时器启动的方法很长,则需要更新。否则,窗口将保持未刷新状态,直到有东西迫使它重新绘制(鼠标悬停、最小化和还原等)。由于某些原因,它对我不起作用。我改变了代码中的更新位置,不知怎么的,它开始工作,为我解决了问题。谢谢