我有tableLayoutPanel
个16个单元格。 15个细胞具有对照。我希望能够在运行时将控件从一个单元格移动到另一个单元格。
我用过
private void button15_Click(object sender, EventArgs e)
{
tableLayoutPanel1.Controls.Remove(button15);
tableLayoutPanel1.Controls.Add(button15, 3, 3);
}
这很好但我想知道是否有更好的方法来做到这一点???
答案 0 :(得分:3)
在Winforms
中,您可以仅在其父级内部移动控件(当然,某些控件实际上没有任何父控件存在异常)。因此,这里的想法是,如果您要移动TableLayoutPanel
的控件,则必须在按住鼠标时移动时将其父级设置为另一个Form
的{{1}},控件的位置在新的父级中,释放鼠标后,我们必须将控件的Parent设置为container
,当然我们必须找到下拉单元格位置并使用{{1将控件放在TableLayoutPanel
上的方法,这里是你的演示代码(效果很好),我在这个演示中使用2 SetCellPosition
,你可以用你想要的任何控件替换它们:
TableLayoutPanel
答案 1 :(得分:-1)
删除“锁定”并将码头设置为无,然后移动!