我在选择标签的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();
}));
}
}
Code RunCMD表格
proc.OutputDataReceived += build_ErrorDataReceived;
proc.BeginOutputReadLine();
现在我的问题是,如果我按照选定标签运行RichTextbox中的程序和数据,但我需要在RichTextbox
开RichText
标签保护
有人说“更改RichTextBox rtb = (RichTextBox)tabControl.SelectedTab.Tag;
,请勿使用SelectedTab
”,但我不知道如何相应更改。
答案 0 :(得分:0)
我相信您在一个事件中添加了RichTextBox,并在另一个事件中添加了文本。所以在添加文本时会有回发帖。在这种情况下,您需要重新添加动态创建的控件。请参阅This Link,其中介绍了如何在asp.net中处理动态控件。