Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/311.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#_Richtextbox - Fatal编程技术网

C#如何通过实例修复RichTextBox中显示的运行数据

C#如何通过实例修复RichTextBox中显示的运行数据,c#,richtextbox,C#,Richtextbox,我在按所选选项卡在RichTextBox中显示数据时遇到问题,但我不需要在所选选项卡中显示,我需要按RichTextBox显示才能运行 private void btn_Runserver_Click(object sender, EventArgs e) { AddTab(); StartCMD(); } private void AddTab() { TabPage newTab = new TabPag

我在按所选选项卡在
RichTextBox
中显示数据时遇到问题,但我不需要在所选选项卡中显示,我需要按
RichTextBox
显示才能运行

    private void btn_Runserver_Click(object sender, EventArgs e)
    {
       AddTab();
       StartCMD();

    }

    private void AddTab()
    {
        TabPage newTab = new TabPage((string)cbConfig.SelectedItem);

        RichTextBox rtb = new RichTextBox();

        rtb.Dock = DockStyle.Fill;
        rtb.ScrollBars = System.Windows.Forms.RichTextBoxScrollBars.Vertical;
        rtb.BorderStyle = System.Windows.Forms.BorderStyle.None;
        rtb.BackColor = System.Drawing.Color.White;
        rtb.ReadOnly = true;

        newTab.Tag = rtb;
        newTab.Name = (string)cbConfig.SelectedItem;
        newTab.Controls.Add(rtb);

        tabControl.Controls.Add(newTab);
        tabControl.SelectTab(newTab);
    }

    private void build_ErrorDataReceived(object sender, DataReceivedEventArgs e)
    {
        string strMessage = e.Data;
        if (tabControl.InvokeRequired)
        {
            tabControl.Invoke(new Action(() =>
            {
                RichTextBox rtb = (RichTextBox)tabControl.SelectedTab.Tag;
                rtb.AppendText(strMessage + Environment.NewLine);
                rtb.Select(rtb.Text.Length - 1, 0);
                rtb.ScrollToCaret();
            }));
        }
    }
代码RunCMD表单

        proc.OutputDataReceived += build_ErrorDataReceived;
        proc.BeginOutputReadLine();
现在我的问题是,如果我运行程序并通过所选选项卡在RichTextbox中显示数据,但我需要在
RichText
选项卡上的
RichTextbox
中显示数据


有人说“更改
RichTextBox rtb=(RichTextBox)tabControl.SelectedTab.Tag;
,不要使用
SelectedTab
”,但我不知道如何相应地更改它。

我相信您在一个事件中添加RichTextBox,在另一个事件中添加文本。因此,在添加文本时会有一个post back。在这种情况下,需要重新添加动态创建的控件。请参阅,其中说明了如何在asp.net中处理动态控件

您有多少个
richtextbox
?你在哪里放置/储存/保存它们?访问一个特定的标签并相应地添加文本是很重要的。许多标签都是通过点击按钮来运行的