确定 Table 布局面板控件的单元格包含在
Determine the Cell of a Table Layout Panel Controls are Contained in
我正在 VB.Net 进行一个项目,我正在使用 Table 布局面板允许多个 windows 并排打开。
我现在要处理的问题是弄清楚 Table 布局面板组件在 运行 时被放置在哪一列。
例如,假设我有两个 Windows 打开,有 3 列。所以第 1 列和第 2 列中有控件,第 3 列为空。如果我关闭第 1 列中的 Window,我想检测它所在的列,以便我可以将第 2 列中的 Window 移到第 1 列。我正在尝试这样做我可以根据并排打开的 windows 的数量来调整 windows 的大小。
但是我似乎无法找到一种方法来准确确定 Column 是 'parent' Column。父容器是 Table Layout Panel 本身,但我不知道如何获取我要查找的信息。
您可以确定子控件在 TableLayoutPanel using its GetPositionFromControl() method, which will return a TableLayoutPanelCellPosition 结构中的位置,识别控件占用的单元格的 Column
和 Row
:
Dim Position As TableLayoutPanelCellPosition =
TableLayoutPanel1.GetPositionFromControl([ControlName])
Position
将 Position.Column
和 Position.Row
报告为整数值。
也可以通过GetControlFromPosition()方法判断哪个子控件占用了指定位置:
Dim MyControl As Control = TableLayoutPanel1.GetControlFromPosition(0, 0)
我正在 VB.Net 进行一个项目,我正在使用 Table 布局面板允许多个 windows 并排打开。
我现在要处理的问题是弄清楚 Table 布局面板组件在 运行 时被放置在哪一列。
例如,假设我有两个 Windows 打开,有 3 列。所以第 1 列和第 2 列中有控件,第 3 列为空。如果我关闭第 1 列中的 Window,我想检测它所在的列,以便我可以将第 2 列中的 Window 移到第 1 列。我正在尝试这样做我可以根据并排打开的 windows 的数量来调整 windows 的大小。
但是我似乎无法找到一种方法来准确确定 Column 是 'parent' Column。父容器是 Table Layout Panel 本身,但我不知道如何获取我要查找的信息。
您可以确定子控件在 TableLayoutPanel using its GetPositionFromControl() method, which will return a TableLayoutPanelCellPosition 结构中的位置,识别控件占用的单元格的 Column
和 Row
:
Dim Position As TableLayoutPanelCellPosition =
TableLayoutPanel1.GetPositionFromControl([ControlName])
Position
将 Position.Column
和 Position.Row
报告为整数值。
也可以通过GetControlFromPosition()方法判断哪个子控件占用了指定位置:
Dim MyControl As Control = TableLayoutPanel1.GetControlFromPosition(0, 0)