如何使用c#连续显示称重秤的标签输出
本文关键字:标签 输出 何使用 连续 显示 | 更新日期: 2023-09-27 18:09:07
我是Visual Studio 2010 (c#)的新手。我使用的代码工作正常,输出显示在richTextBox上,但我的问题是我想在标签上显示输出。
我的当前设置:
之前代码:波特率:9600
平价:没有
数据位:8
停止位:1
rtfTerminal.Invoke(new EventHandler(delegate
{
rtfTerminal.SelectedText = string.Empty;
rtfTerminal.SelectionFont = new Font(rtfTerminal.SelectionFont, FontStyle.Bold);
rtfTerminal.SelectionColor = LogMsgTypeColor[(int)msgtype];
rtfTerminal.AppendText(msg);
rtfTerminal.ScrollToCaret();
}));
我试着改变它,但显示器在闪烁这是我的代码:
private void Log(LogMsgType msgtype, string msg)
{
label2.Invoke(new EventHandler(delegate
{
label2.Text = msg;
}));
}
请帮帮我!谢谢!
c#代码在这里
private delegate void SetTextCallback2(string text);
private void SetText2(string text)
{
try {
if (this.RichTextBox1.InvokeRequired) {
SetTextCallback2 d = new SetTextCallback2(SetText2);
this.Invoke(d, new object[] { text });
} else {
this.RichTextBox1.Text = text;
result = text.Split(stringSeparators);
TextBox1.Text = result.ElementAt(4);
TextBox2.Text = result.ElementAt(8);
TextBox3.Text = result.ElementAt(12);
}
} catch (Exception ex) {
}
}
试试下面的代码
Private Delegate Sub SetTextCallback2(ByVal text As String)
Private Sub SetText2(ByVal text As String)
Try
If Me.RichTextBox1.InvokeRequired Then
Dim d As New SetTextCallback2(AddressOf SetText2)
Me.Invoke(d, New Object() {text})
Else
Me.RichTextBox1.Text = text
result = text.Split(stringSeparators)
TextBox1.Text = result.ElementAt(4)
TextBox2.Text = result.ElementAt(8)
TextBox3.Text = result.ElementAt(12)
End If
Catch ex As Exception
End Try
End Sub
还可以尝试使用定时器和后台工作器控件以指定的时间间隔调用Log函数。
参考这些链接获取更多知识
http://www.codeproject.com/Tips/361285/Serial-Port-Communicationhttps://msdn.microsoft.com/en-us/library/system.io.ports.serialport (v = vs.110) . aspx
希望这能帮助你完成工作:)