Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在C#中以编程方式将控件移动到另一个选项卡?_C#_Tabs_Dotnetbar - Fatal编程技术网

如何在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]);