昨天不是实现远程传串口数据了吗。今天想完善一下,串口数据画图,拿到串口数据后,然后通过一个公式转换成十进制数,最后画图……然后卡在公式这里了。搜半天,智慧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; } }