vb.net - 确定表格布局面板控件的单元格包含在
问题描述
我正在 VB.Net 中处理一个项目,并且正在使用表格布局面板来允许多个窗口并排打开。
我现在正在处理的问题是在运行时准确地确定表格布局面板组件的哪一列。
例如,假设我打开了两个窗口,有 3 个列。所以第 1 列和第 2 列中有控件,第 3 列是空的。如果我关闭第 1 列中的窗口,我想检测它所在的列,以便我可以将第 2 列中的窗口移动到第 1 列。我正在尝试这样做,以便我可以根据如何调整窗口大小许多窗户被并排打开。
但是我似乎无法找到一种方法来准确确定 Column 是“父”列。父容器是表格布局面板本身,但我不知道如何获取我要查找的信息。
解决方案
您可以使用TableLayoutPanel中的GetPositionFromControl()方法确定子控件的位置,该方法将返回一个TableLayoutPanelCellPosition结构,标识控件所占用的单元格的Column
和:Row
Dim Position As TableLayoutPanelCellPosition =
TableLayoutPanel1.GetPositionFromControl([ControlName])
Position
报告Position.Column
和Position.Row
整数值。
您还可以使用GetControlFromPosition()方法确定哪个子控件占据指定位置:
Dim MyControl As Control = TableLayoutPanel1.GetControlFromPosition(0, 0)
推荐阅读
- sql - Oracle - 查询未返回结果时显示“无行”
- ios - Xcode 运行时错误无法加载“_IBBrokenImage_”
- exception - Composer init(新项目)因 Symfony RuntimeException 而中止
- java - Java:将命令行程序输出重定向到 /dev/null 时没有这样的文件或目录
- c - 我找不到分段错误发生在哪里
- python-3.x - 如何在python中使用配置文件中的函数?
- python - Python Tkinter Checkbutton-文本对齐问题
- html - 如何仅使用 HTML5/CSS3 制作 Valve Portal 的“Aperture Labs”标志?
- c++ - 链接器尝试包含所有未使用的函数和模板实例,即使是函数级链接
- javascript - 为什么我的移动菜单项在点击时不显示?