【问题标题】:Problems moving controls around in TableLayoutPanel在 TableLayoutPanel 中移动控件的问题
【发布时间】:2012-03-25 15:48:43
【问题描述】:

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

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

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

【问题讨论】:

  • RowStyles.Add() 是添加另一行所必需的。 SetCellPosition() 将控件放入行中。不要忘记释放您删除的控件。

标签: vb.net winforms tablelayoutpanel


【解决方案1】:

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


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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-29
    • 1970-01-01
    相关资源
    最近更新 更多