c#winform编写上位机串口接受到数据如何分开使用

首先已经编写完了上位机接收数据的程序也实现了在textbox控件中实时显示但是传上来的数据是一组xy坐标值我想如何可以在两个textbox控件中分别显示xy也就是把一组数据分开。因为后面还要利用xy值作图。目前我只能把xy一组数据放在一个textbox控件中达到实时更新数据或者使用Split、正则表达式对数据进行分割只能显示第一组分割后的数据但无法实时更新数据。图片说明
图片说明图片说明代码如下: private void sp_DataReceived(object sender, SerialDataReceivedEventArgs e)
{

        byte[] ReceivedData = new byte[sp.BytesToRead];//创建接收字节数组

                    sp.Read(ReceivedData, 0, ReceivedData.Length);//读取所接收到的数据
                    receivedDatas.AddRange(ReceivedData);


                     textBox3.Text = (Convert.ToInt32(textBox3.Text) + ReceivedData.Length).ToString();
        if (checkBox2.Checked)

        {
            textBox1.Text = Class1.ByteTo16Str(receivedDatas.ToArray());

        }
        else
        {
            textBox1.Text = Encoding.Default.GetString(receivedDatas.ToArray());
            //让文本框获取焦点
            string a = Encoding.Default.GetString(receivedDatas.ToArray());
            **string[] sArray = a.Split(',');
         //这里是进行分割数据,去掉这部分直接把a赋值给textbox就会实时显示但是在一个框里显示xy一组数据而不是一个数据x或者y
            textBox15.Text = sArray[0]; textBox16.Text = sArray[1];**

                 this.textBox15.Focus();
            //设置光标的位置到文本尾
            this.textBox15.Select(this.textBox1.TextLength, 0);
            //滚动到控件光标处
            this.textBox15.ScrollToCaret();
            this.textBox1.Focus();
            //设置光标的位置到文本尾
            this.textBox1.Select(this.textBox1.TextLength, 0);
            //滚动到控件光标处
            this.textBox1.ScrollToCaret();
        }
        // sp.DiscardInBuffer();//丢弃接收缓冲区数据

1个回答

textBox15.Text = sArray[0]; textBox16.Text = sArray[1];
这里相当于是对textbox 里的text属性重新赋值了;
可以改成textBox15.Text = textBox15.Text+“\n”+ sArray[0];

qq_38839890
一只鱼z 回复FEN_TA: 大神还在吗,可以帮一下忙吗 谢谢了
3 年多之前 回复
qq_38839890
一只鱼z 回复FEN_TA: textBox15.Text = textBox15.Text+“\n”+ sArray[0]相当于在控件中加换行再加新的数据所以直接调用控件内容应该达不到要求,这里可以直接使用sArray[0]来给picture.location赋值么
3 年多之前 回复
qq_38839890
一只鱼z 回复FEN_TA: 我在程序里面已经进行了修改现在只显示两个数字但还是不可以不知道怎么解决求大神帮忙
3 年多之前 回复
a314066646
FEN_TA sArray 分离出来的字符数组里面还有字母,转int 肯定是失败的
3 年多之前 回复
qq_38839890
一只鱼z int x5=int.Parse(textBox15.Text); int y5 = int.Parse(textBox16.Text); PictureBox p = new PictureBox(); p.Image= Image.FromFile("D:\\1.png"); p.Size = new Size(5, 5); p.Location = new Point(x5, y5);怎么实现不了 提示好像是字符串的格式错误
3 年多之前 回复
qq_38839890
一只鱼z 哇谢谢大神帮忙,还有一个问题想请教就是我准备调用得到的xy作为控件picturebox的坐标程序如下
3 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐