.net 选项卡控件中的窗体

.net 选项卡控件中的窗体,.net,vb.net,.net,Vb.net,IDE:VB.NET(2008) 我的程序中有一个mdi表单。与往常一样,此mdi表单的作用类似于多个子表单的容器。但是,我需要实现一个选项卡式系统,以便我的表单(而不是mdi表单)出现在选项卡页面中 因此,我在我的mdi表单上插入了一个选项卡控件,当添加表单时,我说TabPage1.Controls.Add(表单)。直到我发现现在我的表单就像一个控件,所以像Me.GetActiveMDIChild等方法无法工作之前,它似乎工作正常 我能解决两个问题吗 通常,当选择特定的子窗体时,我们可以知道

IDE:VB.NET(2008)

我的程序中有一个mdi表单。与往常一样,此mdi表单的作用类似于多个子表单的容器。但是,我需要实现一个选项卡式系统,以便我的表单(而不是mdi表单)出现在选项卡页面中

因此,我在我的mdi表单上插入了一个选项卡控件,当添加表单时,我说TabPage1.Controls.Add(表单)。直到我发现现在我的表单就像一个控件,所以像Me.GetActiveMDIChild等方法无法工作之前,它似乎工作正常

我能解决两个问题吗

  • 通常,当选择特定的子窗体时,我们可以知道何时看到标题栏。在这种情况下,因为表单是作为控件添加的,所以选定表单和未选定表单的标题栏没有区别。有办法解决这个问题吗

  • 我可以确定选择了哪个表单吗。有点像我,我的孩子。我可以通过选项卡页面的控件集合来获得表单列表,但我不知道选择哪个表单

任何帮助都将不胜感激

非常感谢

干杯,
GR

不确定我是否会使用
TabPage1.Controls.Add(Form)
。 相反,您可以在用户激活选项卡时显示/隐藏表单。 可以在c#中找到一个实现


我更喜欢使用第三方控件,比如Infragistics或Telerik的控件。

我想如果我能找出哪个表单处于活动状态,那么我就可以管理它了。在vb.net中有类似ActiveControl的东西。但我不知道如何使用它来确定当前选择的表单。您可以使用
Me.ActiveMDIChild
?!如果我的表单位于选项卡控件内,则Me.ActiveMDIChild将不起作用。您是否看过我在回答中提到的示例?您不会将表单放在选项卡控件中。您将tab控件停靠在MDI窗体顶部,并在tab控件外部打开窗体。您是对的。这就是我现在所做的。“我的”选项卡停靠在底部,根据所选选项卡显示/隐藏表单。工作正常。只有两个问题。如果用户选择不同的选项卡,则表单显示时会有一点闪烁,如果我隐藏并显示表单,则表单的位置会发生变化。