C#RichTextBox显示随机格式

时间:2014-01-24 15:14:18

标签: serial-port richtextbox

我有一个带有2个RichTextBox表格的RS232通信应用程序。一种形式用于记录“传出”消息,另一种形式用于从端口接收“传入”消息。我使用相同的语法记录消息,但出于某种原因,我在“Incoming”窗口中获取随机格式(从端口读取)。

有没有办法让“传入”框在新线上显示每个传入的响应字节[]?我正在使用超级终端,所以我发出的任何内容都应该立即通过同一个端口返回。

两个RTB窗口都使用以下日志方法

        private void Log(LogMsgType msgtype, string msgOut)
    {
        rtbOutgoing.Invoke(new EventHandler(delegate
        {
            rtbOutgoing.SelectedText = string.Empty;
            rtbOutgoing.SelectionFont = new Font(rtbOutgoing.SelectionFont, FontStyle.Bold);
            rtbOutgoing.SelectionColor = LogMsgTypeColor[(int)msgtype];
            rtbOutgoing.AppendText(msgOut);
            rtbOutgoing.ScrollToCaret();
        }));
    }

Screenshot of Output Windows

1 个答案:

答案 0 :(得分:0)

根据您的评论,您应该可以尝试这样的事情。我们将改变i.ToString()输出的内容,以便将其转换为换行符分隔数据而不是以空格分隔:

试试这个:

LogOutgoing(LogMsgType.Outgoing, "Short Address" + i.ToString().Replace(" ", "\n") + "\n");

在将字符串发送到log()函数之前,它会将所有空格更改为“\ n”。