c# - 如何在多行文本框中制作命令行

标签 c# command-line textbox

我正在使用 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 窗体中是可能的。

做了一个快速测试..

enter image description here

并使用文本框的 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/

相关文章:

c# - 为什么这个循环不循环?

c - 在 Windows shell 命令中嵌入 Python 代码

javascript - 简化 Javascript 以使用多个 HTML 输入框

c# - Windows Phone 文本框以只读模式显示插入符

command-line - 处理多个文件名的 Unix 脚本

c# - 如何让 TextBox 仅接受 WPF 中的数字输入?

c# - 显示货币的差异

c# - 从 ConcurrentDictionary 获取值

c# - 在 C# 项目中存储不变变量的好方法是什么?

windows - 使用 win git,git 变量不再位于 environment_variables 中,如何打开 Git Shell 并从那里运行命令?