【发布时间】:2019-08-15 15:04:46
【问题描述】:
我正在尝试在 WinForm 应用程序中模仿 Web 浏览器的行为,您可以在其中将选项卡拖放到浏览器中和从浏览器中拖放出来,并在将选项卡拖放到没有现有选项卡的某处时创建它的另一个实例。
目前 WinForm 应用程序只有一个主要的 TabControl,而我正在查看与 DoDragDrop() 相关的事件,但它们似乎只有在你有两个 TabControls 并在这两个周围移动 TabPages 时才有效。
有没有办法让它只使用一个TabControl?意思是,如果您将Drop 和TabPage 从TabControl 中取出,那么它将创建一个新的TabControl,其中包含TabPage?
我只能想到使用:
private void TabControl_DragLeave(object sender, EventArgs e)
{
Form newInstance = new Form();
TabControl newTabControl = new TabControl();
newInstance.Controls.Add(newTabControl);
newTabControl.TabPages.Add(sender as TabPage);
newInstance.Show();
}
但这很粗鲁,每次离开 TabControl 时都会创建新标签。
【问题讨论】:
标签: c# winforms drag-and-drop