C# 立即更新标签控件
我的程序通过串口接收数据,我想通过标签控件显示数据。接收数据是连续更新的C# 立即更新标签控件,c#,C#,我的程序通过串口接收数据,我想通过标签控件显示数据。接收数据是连续更新的 如何立即刷新标签的值?以下是您必须执行的操作: 第一:在新线程中调用函数: Thread t = new Thread(new ThreadStart(yourfunction)); t.Start(); 第二:必须从表单中调用标签: void yourfunction() { while (..) // I think you have a loop in your function {
如何立即刷新标签的值?以下是您必须执行的操作: 第一:在新线程中调用函数:
Thread t = new Thread(new ThreadStart(yourfunction));
t.Start();
第二:必须从表单中调用标签:
void yourfunction()
{
while (..) // I think you have a loop in your function
{
if (this.label1.InvokeRequired)
{
this.Invoke(
new changeLabelDelegateMethod(changeLabelText), label1, "your text");
}
else
label1.Text = "your text";
}
}
delegate void changeLabelDelegateMethod(Label l, string text);
void changeLabelText(Label l, string text)
{
l.Text = text;
}
你能说得更具体些吗?当您收到该值时,必须在label控件上设置该值并刷新label控件。很可能您的应用程序和串行端口通信在同一线程上,因此正在侦听和读取通过串行端口接收的数据的类正在阻塞UI。您可能应该将串行端口通信推送到后台线程。看看
BackgroundWorker
类。