Csharp/C#教程:使用C#从Mettler Toledo秤设备读取数据分享


使用C#从Mettler Toledo秤设备读取数据

我正在使用C#代码从Mettler Toledo秤设备读取数据。

这是我的完整代码:

private SerialPort port = new SerialPort("COM1", 4800, Parity.None, 8, StopBits.One); public Inwardsfrm() { InitializeComponent(); port.DtrEnable = true; port.DataReceived += new SerialDataReceivedEventHandler(port_DataReceived); } private void Inwardsfrm_Load(object sender, EventArgs e) { if (port.IsOpen == false) try { port.Open(); } catch (Exception oex) { MessageBox.Show(oex.ToString()); } } private void port_DataReceived(object sender, SerialDataReceivedEventArgs e) { this.Invoke(new EventHandler(DoUpdate)); } private void DoUpdate(object s, EventArgs e) { Thread.Sleep(30); string data = port.ReadExisting() + port.ReadExisting(); try { richTextBox1.Text = data.Trim().Remove(0, 3); } catch (Exception f) { MessageBox.Show(f.Message.ToString()); } } 

它工作正常,并在名为richTextBox1的标签中显示结果,但有时它会出现以下错误:

索引和计数必须引用带有字符串参数名称:Count的位置

怎么了? 我该如何解决?

似乎问题是由Remove()方法引起的,在Trim()之后数据中剩下少于3个字符。

尝试:

  private void DoUpdate(object s, EventArgs e) { Thread.Sleep(30); string data = port.ReadExisting() + port.ReadExisting(); if(data.Trim().Count() < 3) MessageBox.Show("data = " + data); else try { richTextBox1.Text = data.Trim().Remove(0, 3); } catch (Exception f) { MessageBox.Show(f.Message.ToString()); } } 

这应该有助于解决这个问题。

上述就是C#学习教程:使用C#从Mettler Toledo秤设备读取数据分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注---计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1042061.html

(0)
上一篇 2022年1月29日
下一篇 2022年1月29日

精彩推荐