如何在C#中以编程方式将控件移动到另一个选项卡?
我有一个如何在C#中以编程方式将控件移动到另一个选项卡?,c#,tabs,dotnetbar,C#,Tabs,Dotnetbar,我有一个TabControl,其中包含一些选项卡。每个选项卡都包含一个加载Microsoft office Word的Word组件控件。每次用户打开一个新选项卡时,都必须添加一个新的Word组件控件,这需要一点时间。 在添加新选项卡时,是否有方法以编程方式将当前的Word组件控件移动到新选项卡,这样就不必创建新的组件类 类似的东西(但是选项卡[1]没有控件) 编辑 我正在使用dotnebar的SuperTabItem控件。虽然Tab本身没有Controls属性,但它有TabItem.Attach
TabControl
,其中包含一些选项卡。每个选项卡都包含一个加载Microsoft office Word的Word组件控件
。每次用户打开一个新选项卡时,都必须添加一个新的Word组件控件
,这需要一点时间。
在添加新选项卡时,是否有方法以编程方式将当前的Word组件控件
移动到新选项卡,这样就不必创建新的组件类
类似的东西(但是选项卡[1]
没有控件
)
编辑
我正在使用
dotnebar
的SuperTabItem
控件。虽然Tab
本身没有Controls
属性,但它有TabItem.AttachedControl
属性,该属性是连接到选项卡的TabControlPanel
,此面板承载您的控件
所以你的代码看起来像
(stcWordTab.Tabs[1].AttachedControl as TabControlPanel).Controls
.Add((stcWordTab.Tabs[0].AttachedControl as TabControlPanel).Controls[0]);
请参阅以供参考。您意识到,当您移动它时,它将不再是以前的位置@是的!这正是我计划要做的我不知道aboput Dotnebar的SuperTabItem。-在winforms中,我建议:请始终区分Tab控件及其TabPages!如果一个控件,比如一个按钮button1位于tabPage1上,您可以将其移动到tabPage2,如下所示:
button1.Parent=tabPage2代码>不确定您的库是否以相同的方式工作!它以某种方式完全删除了第一个选项卡,并删除了单词组件!隐马尔可夫模型。。。我现在没有在此处安装dotnetbar组件-因此我无法验证它-但这里有一些建议:尝试从选项卡[0]中删除控件。在将控件添加到选项卡[1]之前,请先将其添加到选项卡[1]。AttachedControl
。在将控件从一个选项卡移动到另一个选项卡之后,您可能应该调用tabcontrol的RecalcLayout
方法。
(stcWordTab.Tabs[1].AttachedControl as TabControlPanel).Controls
.Add((stcWordTab.Tabs[0].AttachedControl as TabControlPanel).Controls[0]);