如何在多行TextBox中创建命令行

Sae*_*ani 1 c# command-line textbox

我正在使用GPIB处理一些电子仪器.我可以用这样的乐器进行交流:

K2400.WriteString("*IDN?", true);
textBoxK2400.Text += K2400.ReadString() + Environment.NewLine;
Run Code Online (Sandbox Code Playgroud)

第一行将执行命令,在第二行中,我将最后一个命令的响应添加到文本框中.如何直接在文本框中编写命令并添加响应?

例如,如果在">>"之类的指示符之后输入用户命令并按下ENTER,则应在文本框的下一行添加响应.

那么如何阅读文本框的最后一行并在新行中添加响应?我正在寻找一种方法:

private void Execute(string command)
{
  K2400.WriteString(command, true);
  textBoxK2400.Text += K2400.ReadString() + Environment.NewLine;
}
Run Code Online (Sandbox Code Playgroud)

Ste*_*anE 5

使用两个文本框(文本框和列表框可能更好),但让它们看起来像"一个"文本框..如果使用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;
        }
    }
Run Code Online (Sandbox Code Playgroud)