在TableLayoutPanel中移动控件时出现问题

时间:2012-03-25 15:48:44

标签: vb.net winforms tablelayoutpanel

对于我正在构建的winForm,我正在使用 TableLayoutPanel ,它具有任意数量的文本框和两个按钮来添加或删除框,+和 - 。 +和 - 按钮直接出现在用户给予焦点的文本框下方,如下所示:

  • (文本框)
  • (有焦点的文本框)
  • (减号按钮)
  • (加按钮)
  • (文本框)
  • (文本框)
  • (文本框)

如果用户单击另一个框,则+和 - 按钮应在运行时适当移动。我一直试图用.GetControlFromPosition.GetPositionFromControl命令移动文本框,但这似乎不起作用,因为框不移动或移动到不同的位置而不是意。什么是解决这个问题的最佳方式?

1 个答案:

答案 0 :(得分:0)

您必须更改新旧位置之间的两个按钮和每个文本框的位置。如果将两个或多个控件分配给同一个单元格,则除了一个控件之外的所有控件都将移动到下一个空单元格。


只是建议可能看起来更好并且使编码更容易,如何将按钮放在文本框右侧的两个窄列中。下面的( )表示空单元格。

(    text box    ) ( ) ( )
(focused text box) (+) (-)
(    text box    ) ( ) ( )
(    text box    ) ( ) ( )
(    text box    ) ( ) ( )