将项目从一个单元格移动到另一个

时间:2013-09-07 21:06:20

标签: c# winforms tablelayoutpanel

我有tableLayoutPanel个16个单元格。 15个细胞具有对照。我希望能够在运行时将控件从一个单元格移动到另一个单元格。

我用过

    private void button15_Click(object sender, EventArgs e)
    {
        tableLayoutPanel1.Controls.Remove(button15);

        tableLayoutPanel1.Controls.Add(button15, 3, 3);
    }

这很好但我想知道是否有更好的方法来做到这一点???

2 个答案:

答案 0 :(得分:3)

Winforms中,您可以仅在其父级内部移动控件(当然,某些控件实际上没有任何父控件存在异常)。因此,这里的想法是,如果您要移动TableLayoutPanel的控件,则必须在按住鼠标时移动时将其父级设置为另一个Form的{​​{1}},控件的位置在新的父级中,释放鼠标后,我们必须将控件的Parent设置为container,当然我们必须找到下拉单元格位置并使用{{1将控件放在TableLayoutPanel上的方法,这里是你的演示代码(效果很好),我在这个演示中使用2 SetCellPosition,你可以用你想要的任何控件替换它们:

TableLayoutPanel

enter image description here

答案 1 :(得分:-1)

删除“锁定”并将码头设置为无,然后移动!