我正在使用 GPIB 处理一些电子仪器。我可以像这样与仪器交流:
K2400.WriteString("*IDN?", true);
textBoxK2400.Text += K2400.ReadString() + Environment.NewLine;
第一行将执行一条命令,在第二行中我将最后一条命令的响应添加到文本框。如何直接在文本框中写入命令并添加响应?
例如,如果用户命令在“>>”等指示符之后输入并按下 ENTER,则应将响应添加到文本框的下一行。
那么如何读取文本框的最后一行并在新行中添加响应呢?我正在寻找一种方法,例如:
private void Execute(string command)
{
K2400.WriteString(command, true);
textBoxK2400.Text += K2400.ReadString() + Environment.NewLine;
}
最佳答案
使用两个文本框(文本框和一个列表框可能更好)但让它们看起来像“一个”文本框。如果使用 WPF,它看起来会很不错,至少在 Windows 窗体中是可能的。
做了一个快速测试..
并使用文本框的 KeyPress 事件代码:
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (char)Keys.Return)
{
listBox1.Items.Add(textBox1.Text);
textBox1.Text = String.Empty;
listBox1.SelectedIndex = listBox1.Items.Count - 1;
}
}
关于c# - 如何在多行文本框中制作命令行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7889916/