【问题标题】:How to get the Screen position of a control inside a group box control?如何获取组框控件内控件的屏幕位置?
【发布时间】:2010-08-22 06:26:47
【问题描述】:

好吧,我是 PointToScreen(),但是当控件位于组框内时,此方法不起作用并且给我错误的坐标。
那么还有其他方法可以获取组框控件内控件的位置吗?
我需要那个屏幕位置,这样我就可以在该控件附近显示一个对话框。
谢谢

【问题讨论】:

    标签: c# winforms


    【解决方案1】:

    可能您在错误的控件上使用了 PointToScreen...

    如果你有一个带有按钮的分组框,那么下面的代码就可以正常工作:

    Point p = groupBox1.PointToScreen(button1.Location);
    

    【讨论】:

    • 是的,这个可行:) 如果我有一个嵌套的组框,那么方法是什么?
    • 卡里姆,我认为是一样的。只需将父级的PointToScreen 方法用于您想要的控件即可。
    【解决方案2】:

    对此我不确定,但我认为您可以添加组件及其容器的位置。

    例如,如果您在分组框中有一个文本框,您可以这样做:

    Point p = textbox.location + groupbox.location + this.location;
    

    “this.location”用于获取主窗体在屏幕上的位置

    希望这会有所帮助...

    【讨论】:

    • 我知道这种方法,但我不想使用它。这就是为什么我在 stackoverflow 上问这个问题,因为它们应该是更好的方法
    猜你喜欢
    • 2023-03-28
    • 2011-06-27
    • 1970-01-01
    • 2013-08-28
    • 2011-11-22
    • 1970-01-01
    • 2020-10-07
    • 2015-07-29
    • 1970-01-01
    相关资源
    最近更新 更多