昨天不是实现远程传串口数据了吗。
今天想完善一下,串口数据画图,拿到串口数据后,然后通过一个公式转换成十进制数,最后画图……然后卡在公式这里了。搜半天,智慧AI回答不如意,用文言一心的AI就回答的很好,通俗易懂。
private void TextBox1_TextChanged(object sender, EventArgs e)
{
// 创建一个StringBuilder来构建新的字符串
StringBuilder sb = new StringBuilder(textBox1.Text);
int index = 0;
// 循环直到字符串末尾
while ((index = sb.ToString().IndexOf('d', index)) != -1)
{
// 检查'd'后面是否还有字符
if (index + 1 < sb.Length)
{
// 移除'd'及其后续的第一个字符
sb.Remove(index, 2);
// 在'd'的位置插入"123"
sb.Insert(index, "123");
// 调整索引,因为我们插入了额外的字符
index += 3;
}
else
{
// 如果'd'是最后一个字符,只需移除它
sb.Remove(index, 1);
// 不需要插入"123",因为没有后续字符
break;
}
}
// 将修改后的字符串设置回TextBox
textBox1.Text = sb.ToString();
// 防止TextChanged事件再次触发(可选,取决于具体需求)
// 注意:这可能导致在某些情况下(如用户连续输入)行为不如预期
// textBox1.TextChanged -= TextBox1_TextChanged;
// ... 执行一些操作 ...
// textBox1.TextChanged += TextBox1_TextChanged;
}
}