如何使用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#连续显示称重秤的标签输出

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-Communication

https://msdn.microsoft.com/en-us/library/system.io.ports.serialport (v = vs.110) . aspx

希望这能帮助你完成工作:)