我正在使用VB.Net中的一个项目,并使用表格布局面板允许多个窗口彼此并排打开。
我现在正处理的问题是在运行时确切地确定表格布局面板组件的哪一列。
例如,假设我打开了两个Windows,其中包含3个列。因此,第1列和第1列中有控件。 2,第3列是空的。如果我关闭第1列中的窗口,我想检测它所在的列,以便我可以将第2列中的窗口移到第1列。我正在尝试这样做,所以我可以根据如何调整窗口的大小许多窗户正在并排开启。
但是,当Column是'父'列时,我似乎找不到确切的方法来确定。父容器是表格布局面板本身,但我不知道如何获取我要查找的信息。
答案 0 :(得分:2)
您可以使用TableLayoutPanel方法在GetPositionFromControl()内确定子控件的位置,该方法将返回TableLayoutPanelCellPosition结构,标识Column
和{{1控件占用的单元格:
Row
Dim Position As TableLayoutPanelCellPosition =
TableLayoutPanel1.GetPositionFromControl([ControlName])
报告Position
和Position.Column
为整数值。
您还可以使用GetControlFromPosition()方法确定哪个子控件占据指定位置:
Position.Row