是不是list中有两个string。。并且第二个string为空
解决方案 »
- |ZYCWPF| i:Interaction.Triggers 中的 DataTrigger 如何写组进行验证,我找不到MultDataTrigger这个方法
- C#中没有类似Delphi的ADOQuery,ClientDataSet一类的数据控件吗?
- 为什么断掉链接才显示传过来得数据
- 个性窗体
- C#版的处女贴, 从Delphi版转过来的, 希望兄弟们以后多多照顾...
- 来自数据源的 Single 类型的给定值不能转换为指定目标列的类型 decimal
- C#问题请教。。。
- 想确定一下,xp下是不是不能装petshop 3.0?
- Visual Studio 2012 的控件属性说明
- 关于使用域名生成服务器socket的问题
- 关于iframe页面自动调整宽高的问题
- 如何打开.nupkg文件?
{
axMSComm1.PortOpen = true;
string[] list = this.textBox1.Lines;
foreach (string s in list)
{
MatchCollection ms = Regex.Matches(s, @"(\d+\.{0,1}\d+)");
this.textBox2.Text = ms[0].Groups[1].Value;
this.textBox3.Text = ms[1].Groups[1].Value;
}
}
textBox1里有东西?
axMSComm1.PortOpen = true;
你在按钮里打开了串口,然后读串口的代码又在哪呢?
不是应该先把串口里的数据放textbox1里,然后再往2和3分么
你这还没读到数据就开始分,能分出来才怪.
我已经数据到textBox1了
private void button1_Click(object sender, EventArgs e)
{
axMSComm1.PortOpen = true;
string[] list = this.textBox1.Lines;
foreach (string s in list)
if (s.Length == 20 && s.Substring(0, 1) == "$" && s.Substring(s.Length - 1, 1) == "F")
{
string a = s.Substring(6,3);
string b = s.Substring(10,5);
textBox2.Text = b.ToString();
textBox3.Text = a.ToString();
}
}
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;namespace Mscomm
{
public partial class Form1 : Form
{
string data;
public Form1()
{
InitializeComponent();
} private void Form1_Load(object sender, EventArgs e)
{
axMSComm1.RThreshold = 1;
axMSComm1.CommPort = 8;
axMSComm1.Settings = "115200,n,8,1";
axMSComm1.InputMode = 0;
} private void axMSComm1_OnComm(object sender, EventArgs e)
{
data = axMSComm1.Input.ToString();
textBox1.Text = textBox1.Text + data; }
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
axMSComm1.PortOpen = false;
}
private void button2_Click(object sender, EventArgs e)
{
Close();
} private void button1_Click(object sender, EventArgs e)
{
axMSComm1.PortOpen = true;
string[] list = this.textBox1.Lines;
foreach (string s in list)
if (s.Length == 20 && s.Substring(0, 1) == "$" && s.Substring(s.Length - 1, 1) == "F")
{
string a = s.Substring(6,3);
string b = s.Substring(10,5);
textBox2.Text = b.ToString();
textBox3.Text = a.ToString();
}
}
}
}
{
data = axMSComm1.Input.ToString();
textBox1.Text = textBox1.Text + data; }
你在串口的回调函数里给textbox1赋值,而在打开串口的地方给2,3赋值,刚打开串口的时候,数据还没有上来,当然2,3就是空的.
你把给2,3也写到这里,就好了.
而button1_Click,这是按钮事件,按钮每按下一次,就执行一次.你应该是每次接到数据,就给1,2,3分别赋值,而不是每次都去更新1,而2和3只执行一次,懂我的意思么