2014-03-25 103 views
1

我只是想在窗口窗体上交换两个按钮,但是当我将按钮放在PanelGroupBoxTableLayoutPanel上时,什么也没有发生。 我尝试下面的代码段用于交换:更改面板,组框或表格布局面板上的按钮位置

System.Drawing.Point locationTemp = button2.Location; 
     button2.Location = button1.Location; 
     button1.Location = locationTemp; 

我怎样才能解决这个问题?

+0

目前还不清楚如果这些按钮都在相同的容器。 TableLayoutPanel只允许每个单元一个控件。那么,哪个父容器有这些按钮?或者它是混合? – LarsTech

+0

@LarsTech,任何单元格只包含一个按钮,并且我在表单上有9个按钮。 – sepehr

+0

所以这是一个TableLayoutPanel,它包含这些按钮?这很重要,因为该面板与普通Panel或GroupBox大不相同。 – LarsTech

回答

0

你的代码工作,除非这些控件是一个TableLayoutPanel,其行为不同,因为子控件是一个小区(每个小区只允许一个家长控制)的成员:

TableLayoutPanelCellPosition cell1 = tlp.GetCellPosition(button1); 
tlp.SetCellPosition(button1, tlp.GetCellPosition(button2)); 
tlp.SetCellPosition(button2, cell1);