【问题标题】:Place another form right on the top of a control on this form将另一个窗体放在此窗体上的控件顶部
【发布时间】:2012-11-10 22:03:48
【问题描述】:

在一个 c# windows 窗体项目中,我有两个单独的窗体。一个叫A表,很大,上面有很多控件。第二个称为B,尺寸小。我想重新定位表单 B,使其完全覆盖表单 A 中的特定控件之一。简单地说,我可以调整表单 B 的大小以完全匹配控件的大小。但我找不到正确定位它的方法。有什么帮助吗?

【问题讨论】:

  • 还有一点:表单 B 不是表单 A 的子节点。
  • 使用控件的PointToScreen()方法获取需要的表单位置。
  • 我做到了。不成功。我的代码是这样的: var b = new B(); b.Location = a.mycontrol.PointToScreen(Point.Empty);
  • 对。不知道“不成功”是什么意思。这些事情只对你来说是显而易见的,我们不能越过你的肩膀。
  • 好的。如何使用 PointToScreen 方法设置位置? Location 属性是相对于父容器的坐标。我想在屏幕上设置位置。类似但与 PointToScreen() 方式相反的东西

标签: c# windows forms location controls


【解决方案1】:

根据窗体(A)的位置计算子控件在窗体A上的绝对位置。然后根据计算的值设置Form B的绝对位置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-30
    • 1970-01-01
    • 1970-01-01
    • 2016-09-25
    • 2016-06-19
    相关资源
    最近更新 更多