我在Windows窗体中有一个选项卡控件,我希望能够单击选项卡并在选项卡的正文区域中,我希望它将另一个窗体显示为嵌入式组件。这可能吗?如果是这样,有人可以提供一个示例或链接到如何完成此操作的示例吗?
答案 0 :(得分:10)
您可能正在寻找Tabbed MDI Child Forms
答案 1 :(得分:7)
您可以嵌入表单,但这不是最佳选择。
最好将内容放在UserControls上并将其添加到TabPage。
答案 2 :(得分:4)
我认为另一个答案有正确的想法;选项卡式MDI可能就是您想要的。
有一种方法可以创建一个与表单具有相同内容的UserControl,并在TabPage上使用它。
TabPage myTabPage = new TabPage(sometext);
myUserControl = new myUserControlType();
myUserControl.Dock = DockStyle.Fill;
myTabPage.Controls.Add(myUserControl);
myTabControl.Add(myTabPage);
http://bytes.com/topic/c-sharp/answers/270457-can-i-add-form-tabpage详细介绍;但我先看看MDI的东西。
答案 3 :(得分:4)
将MainForm(Parent)设置为IsMDIContainer = true;
创建ChildForm的实例并调用此函数:
FormChild frmChild = new FormChild();
AddNewTab(frmChild);
将此函数复制到您的代码中:
private void AddNewTab(Form frm)
{
TabPage tab = new TabPage(frm.Text);
frm.TopLevel = false;
frm.Parent = tab;
frm.Visible = true;
tabControl.TabPages.Add(tab);
frm.Location = new Point((tab.Width - frm.Width) / 2, (tab.Height - frm.Height) / 2);
tabControl.SelectedTab = tab;
}
答案 4 :(得分:2)
如果您不想使用MDI,可以尝试将所需的表单放到用户控件中,并在表单和选项卡中添加此用户控件。