Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 用richtextbox控制实时显示_C#_Cmd_Stack_Real Time_Dynamic Data Display - Fatal编程技术网

C# 用richtextbox控制实时显示

C# 用richtextbox控制实时显示,c#,cmd,stack,real-time,dynamic-data-display,C#,Cmd,Stack,Real Time,Dynamic Data Display,我和同事的C#和control CMD一起工作。我已经实现了控件cmd和富文本框的实时显示 但真正的请求是将此消息堆栈到富文本框中。我的程序无法堆栈cmd命令(保留以前cmd的历史记录) 下面的代码与实时显示一起工作。如果我发送“dir”,那么它可以显示我想要的内容。但在完成下面的函数后,再为设备执行其他工作,然后重新输入下面的函数和C#clear rich text box,然后显示新内容 但我想要的是:不要删除富文本框中以前的工作(保留历史记录)。希望在富文本框中堆叠整个消息 如果这不是正确

我和同事的C#和control CMD一起工作。我已经实现了控件cmd和富文本框的实时显示

但真正的请求是将此消息堆栈到富文本框中。我的程序无法堆栈cmd命令(保留以前cmd的历史记录)

下面的代码与实时显示一起工作。如果我发送“dir”,那么它可以显示我想要的内容。但在完成下面的函数后,再为设备执行其他工作,然后重新输入下面的函数和C#clear rich text box,然后显示新内容

但我想要的是:不要删除富文本框中以前的工作(保留历史记录)。希望在富文本框中堆叠整个消息

如果这不是正确的方法,那么另一种方法是什么?不使用富文本框?就像使用笔记本一样??有人知道如何实现这一点吗

下面是我的代码示例

string cmd1 = @"cd\";     /////this section changed by user so just send variety cmd.
string cmd2 = @"cd device_control";
string cmd3 = @"dir/w";   

ProcessStartInfo cmd = new ProcessStartInfo();
Process process = new Process();

cmd.FileName = @"cmd";
cmd.WindowStyle = ProcessWindowStyle.Normal;
cmd.CreateNoWindow = true;        // cmd 
cmd.UseShellExecute = false;
cmd.RedirectStandardOutput = true;   /////// @@@@@@@@@@
cmd.RedirectStandardInput = true;
cmd.RedirectStandardError = true;

process.EnableRaisingEvents = true;
process.StartInfo = cmd;
process.Start();

process.StandardInput.Write(cmd1 + Environment.NewLine);
process.StandardInput.Write(cmd2 + Environment.NewLine);
process.StandardInput.Write(cmd3 + Environment.NewLine);

process.StandardInput.Close();

string result = process.StandardOutput.ReadToEnd();

richTextBox2.Text = result; 
以上代码工作正常,没有cmds历史记录

我想要的是我将访问上述功能大约50次。这可以实时显示,但人们希望将消息堆叠到richtext box(保留CMD的历史记录),因为人们希望看到完整的日志


如何将命令附加到richtext框中,而不是覆盖以前的命令?

我已编辑了您的标题。请参阅“”,其中的共识是“不,他们不应该”。可能相关(如果我正确阅读了问题/问题):