在TableLayoutPanel中移动行

时间:2012-10-24 10:55:04

标签: winforms visual-studio visual-studio-2012 windows-forms-designer

我无法弄清楚如何在Designer中移动TableLayoutPanel的一行。你是怎么做到的?

我无法拖动它们,没有按钮可以向上或向下移动它们并将所有控件从一行移动到另一行只是单调乏味且耗时。

2 个答案:

答案 0 :(得分:6)

要在设计器中执行此操作,您需要使用第三个空行,假设您要交换第1行和第2行。

  • 添加空行3。
  • 从第1行移动控件>第3行
  • 从第2行移动控件>第1行
  • 从第3行移动控件>第1行
  • 删除第3行

是的,这是一种解决方法,但它可以完成工作。

或者,您可以在designer.cs文件中更改代码。在那里你可以改变以下内容:

this.myTableLayout.Controls.Add(this.myLabel1, 0, 0);//Change the order of these items.
this.myTableLayout.Controls.Add(this.myLabel2, 0, 1);

答案 1 :(得分:1)

如果您的TableLayoutPanel子控件未停靠(即,您可以拖动它们),则只需将每个控件从第一行拖动到第二行中的相应单元格即可。然后,Windows窗体设计器将为您交换控件,因为每个单元格中只能有一个控件。 This tip can also be found on MSDN

它仍然不理想,但至少您不必使用此方法创建或删除行,也不必手动编辑设计器代码。