明宇朗心 2018-05-15 02:59 采纳率: 100%
浏览 1926
已结题

C#中如何让字符数组通过串口实时显示在多个Textbox中? 单个Textbox已可以自动逐行显示

图片说明
图片说明
有程序解释最好,谢谢帮助哦! (51单片机串口发送)

 private void port_DataReceived(object sender, SerialDataReceivedEventArgs e)             //串口接收事件
        {
            int i = 1;
            if (!radioButton3.Checked)     //接收为字符模式
            {                
                string str = serialPort1.ReadExisting();   //字符串方式读取
                textBox9.AppendText(str);//添加内容


                }  
                    else                   //如果接收模式为数值模式
                    {
                        byte[] data = new byte[serialPort1.BytesToRead];             //定义缓冲区,因为串口事件触发时有可能收到不止一个字节
                        serialPort1.Read(data, 0, data.Length);               //读取数据
                        foreach (byte Member in data)                                                   //遍历用法
                        {
                            string str = Convert.ToString(Member, 16).ToUpper();
                            textBox1.AppendText("0x" + (str.Length == 1 ? "0" + str : str) + " ");     //文本框显示1
                            //上一句等同于 if(str.Length==1) 
                            //str = '0' + str;
                            //else
                            //str = str;
                            //textBox1.AppendText("0x" + str);  
                        }
                    }
        }

图片说明
我是用51单片机逐个字符发送的

  • 写回答

3条回答 默认 最新

  • qq_20798777 2018-05-15 03:23
    关注

    string str = "123/456/789";
    string[] plist = str.Split('/');

    对应写到格子里就好了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 chaquopy python 安卓
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 有没有帮写代码做实验仿真的
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥30 vmware exsi重置后登不上
  • ¥15 易盾点选的cb参数怎么解啊
  • ¥15 MATLAB运行显示错误,如何解决?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题