【问题标题】:How to get the Textbox location from various TableLayoutPanel ?如何从各种 TableLayoutPanel 获取文本框位置?
【发布时间】:2011-11-11 21:17:51
【问题描述】:

我有四 (4) 个 TableLayoutPanel。在它们里面我有一些文本框。 我的意图是在该文本框的下方显示 Listview。 因此,当我尝试获取文本框内的位置时 tablelayout 面板,它没有给出正确的 X-Y... 那么如何获得正确的位置呢?

【问题讨论】:

  • 也许对你有帮助:C# Get a control's position on a formPoint locationOnForm = control.FindForm().PointToClient( control.Parent.PointToScreen(control.Location));
  • 不错的答案...它简化了我 1/2 天的尝试。

标签: c# .net winforms layout textbox


【解决方案1】:

... its not giving proper X-Y ... 不是真的:

你可以有多种解决方案:

  1. 使用提供两个值 X 和 Y 的 Location 属性,Location 属性获取或设置控件左上角相对于其容器左上角的坐标:

位置属性:

int xLocation = textBox1.Location.X;
int yLocation = textBox1.Location.Y;
  1. 使用LeftTopRightBottom 属性:它们实际上获取控件左(或分别为上、右、下)边缘与顶部之间的距离,以像素为单位其容器客户区的边缘:

左、上、右下:

int leftLocation = textBox1.Left;
int topLocation = textBox1.Top;
int rightLocation = textBox1.Right;
int bottomLocation = textBox1.Bottom;

如果您检查所有这些行的值,您会发现 left 和 top 值与 Location 属性的 X 和 Y 值相同。

由于继承自 Control 对象,所有这些属性都存在,因此您可以在派生自该对象的任何控件上找到它们。

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 2021-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-17
    • 1970-01-01
    • 2017-06-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多