有没有办法浮动TabControl的TabPage?

时间:2017-07-03 12:07:29

标签: c# winforms

我正在使用TabControl,其中有多个标签。我需要有一个功能,如果我拖动一个标签'或者'右键单击选项卡 - >浮'然后该选项卡从选项卡列表中出来,成为可以在屏幕上任意位置移动的自由浮动窗口(或winform)。和副Versa。

以下是TabControl的代码 -

TabControl tabControl = new TabControl();
TabPage tabPage1 = new TabPage();    
tabPage1.Text = "Tab Page 1";
TabPage tabPage2 = new TabPage();
tabPage2.Text = "Tab Page 2";
tabControl.Controls(tabPage1);
tabControl.Controls(tabPage2);

1 个答案:

答案 0 :(得分:0)

请使用以下代码将Tab-Page控件交换为Form,反之亦然。请注意,不是向Tab-Page添加控件,而是需要先在面板中添加控件,然后需要将该面板添加到Tab_Page中:

   private void Button1_Click(object sender, EventArgs e)
    {

        TabPage tabPage1 = (TabPage) sender;

        Form frm = new Form();
        frm.Text = tabPage1.Text;

        Panel panel = (Panel) tabPage1.Controls[0];
        tabPage1.Controls.RemoveAt(0);
        tabControl.TabPages.Remove(tabPage1);

        frm.Controls.Add(panel);
        frm.Show();

    }

    private void Form1_Click(object sender, EventArgs e)
    {

        Form frm = (Form) sender;
        TabPage tabPage1 = new TabPage();

        tabPage1.Text = frm.Text;

        Panel panel = (Panel)frm.Controls[0];
        frm.Controls.RemoveAt(0);
        tabControl.TabPages.Add(tabPage1);

        frm.Controls.RemoveAt(0);
        frm.Hide();

    }