【发布时间】:2020-07-17 02:48:26
【问题描述】:
我正在 GUI 上使用 Regex 从 GCode 中提取位置 X 和 Y 并将其打印到 RichTextBox 上。
private void button1_Click(object sender, EventArgs e)
{
TextReader read = new System.IO.StringReader(richTextBox1.Text);
int rows = richTextBox1.Lines.Length;
Console.WriteLine(rows);
string[] text = new string[rows];
for (int r = 0; r < rows; r++)
{
text[r] = read.ReadLine();
if (text[r] != null)
{
Match posX = Regex.Match(text[r], @"X([0-9\.]+)");
Match posY = Regex.Match(text[r], @"Y([0-9\.]+)");
GroupCollection posXGroup = posX.Groups;
GroupCollection posYGroup = posY.Groups;
Console.WriteLine(posXGroup[1] + "\t" + posYGroup[1] + "\n");
richTextBox2.Text = (posXGroup[1] + "\t" + posYGroup[1] + "\n");
}
}
}
我的 GCode:
N65 G2 X21.5091 Y15.5209 Z0.0000 I0.0277 J-0.7392
N120 G2 X21.5280 Y18.0069 Z0.0000 I0.0255 J-0.7476
N210 G2 X21.5968 Y15.0534 Z0.0000 I-0.0483 J-1.2184
N230 G2 X21.6745 Y17.4894 Z0.0000 I0.0473 J-1.2560
我的问题是将结果打印到richTextBox。它仅打印最后一行的值:21.6745 17.4894,但不打印其上方 3 行中的位置。虽然控制台打印成功。有人可以帮我解决这个问题吗?
【问题讨论】:
标签: c# .net concatenation variable-assignment richtextbox