qq_33869371
天明宇朗
2018-05-15 02:59
采纳率: 100%
浏览 1.6k

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单片机逐个字符发送的

  • 点赞
  • 收藏

4条回答 默认 最新

  • qq_20798777
    qq_20798777 2018-05-15 03:23
    已采纳

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

    对应写到格子里就好了

    点赞 评论
  • qq_23126581

    你这个应该用到了定时器吧?不知道你这个数据读取完毕要多长时间,如果很短的话,可以等数据加载完,就是你textbox9显示完,然后将textbox9的值去空格赋值给数组,然后就是一一对应赋值到每个textbox中了

    点赞 评论
  • qq1604530607
    qq1604530607 2018-05-15 03:22

    监听com1端口 ,捕获数据后,fill to textbox.

    点赞 评论
  • qq_16036373
    谷物熊 2018-05-16 06:07

    遍历数组,然后将每个数组成员分别填充到对应的textbox中去

    点赞 评论

相关推荐