【问题标题】:How to get the Textbox location from various TableLayoutPanel ?如何从各种 TableLayoutPanel 获取文本框位置?
【发布时间】:2011-11-11 21:17:51
【问题描述】:
我有四 (4) 个 TableLayoutPanel。在它们里面我有一些文本框。
我的意图是在该文本框的下方显示 Listview。
因此,当我尝试获取文本框内的位置时
tablelayout 面板,它没有给出正确的 X-Y... 那么如何获得正确的位置呢?
【问题讨论】:
标签:
c#
.net
winforms
layout
textbox
【解决方案1】:
... its not giving proper X-Y ...
不是真的:
你可以有多种解决方案:
- 使用提供两个值 X 和 Y 的 Location 属性,Location 属性获取或设置控件左上角相对于其容器左上角的坐标:
位置属性:
int xLocation = textBox1.Location.X;
int yLocation = textBox1.Location.Y;
- 使用Left、Top、Right、Bottom 属性:它们实际上获取控件左(或分别为上、右、下)边缘与顶部之间的距离,以像素为单位其容器客户区的边缘:
左、上、右下:
int leftLocation = textBox1.Left;
int topLocation = textBox1.Top;
int rightLocation = textBox1.Right;
int bottomLocation = textBox1.Bottom;
如果您检查所有这些行的值,您会发现 left 和 top 值与 Location 属性的 X 和 Y 值相同。
由于继承自 Control 对象,所有这些属性都存在,因此您可以在派生自该对象的任何控件上找到它们。
希望这会有所帮助。