项目说明:
嗨,在我的项目中,我有64个客户端,他们通过单线asynchronous
总线与我的主站通信,现在我想监控它们之间的通信。为此我有一个RichTextBox
,在那个框中我看到了整个数据流量。现在我想实现当我选择客户端例如nr时的可能性。 4,在我的主RichTextBox
的标签控件上打开一个新的RichTextBox
。
我的问题是我与C#
合作4周以来我不知道该怎么做,我在互联网上搜索但我找不到任何例子。所以我在这里寻求帮助。
问题: 如何制定所述要求?是否可以满足要求?
图片例如:
抱歉图片不好,我只有油漆。这是我的MainWindow
红色箭头,我想要我的标签。
我使用Microsoft Visual Studio 2015和WindowsFormsApplication
答案 0 :(得分:1)
你需要以另一种方式执行它,将richtextbox添加到tabpages。
如果您创建一个继承自tabpage的自定义控件,则可以更简单。它的问题是你将无法通过可视化编辑器进行设计。但由于你只需要一个控件,你可以通过代码添加它。
自定义标签的类如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
class CustomTab:TabPage
{
public RichTextBox textbox;
public CustomTab()
{
textbox = new RichTextBox();
this.Controls.Add(textbox);
textbox.Dock = DockStyle.Fill;
}
}
}
正如您所看到的那样,它只是继承自tabpage,在构造函数上它添加了一个RichTextBox,它停靠在fill中,因此它将覆盖所有页面。
文本框是公开的,因此您只需使用tab.textbox
即可访问该文本框。
要将选项卡添加到tabcontrol,只需将tabcontrol添加到表单中,以及何时只需添加页面:
tabControl1.TabPages.Add(new CustomTab());
拥有自定义标签可以让您拥有所需的所有数据和方法(例如客户端)
如果您有任何问题,请随时提出