【问题标题】:Why is my Form on top when I hover over a GMap.NET control?当我将鼠标悬停在 GMap.NET 控件上时,为什么我的表单在顶部?
【发布时间】:2014-09-10 09:43:39
【问题描述】:

我的主窗体上有一个 GMap.NET 控件,然后我有第二个窗体,当用户单击按钮时会显示该控件。问题是,当用户离开第二个窗口并从主窗体悬停在 GMap 控件上时,主窗体会出现在前面。当我将第二个窗口悬停在主窗口的其余部分上时,不会发生这种情况。此外,我还有另一种形式,它会在程序搜索一些数据时显示,当用户将鼠标悬停在地图上时,这种形式也会消失。

我希望我解释得足够好,基本上当我将鼠标悬停在地图上时,主窗口会出现在前面。只有当我的项目前面有另一种形式时才会发生这种情况,而不是当前面有任何其他窗口(如 firefox 或其他东西)时。

所以我的问题是:为什么会发生这种情况,我可以改变这种行为吗?它是 GMap.NET 控件的标准吗?顺便说一句,我使用的是 1.7.0.0 版控件。

【问题讨论】:

    标签: c# winforms gmap.net


    【解决方案1】:

    你必须使用

    GMap1.DisableFocusOnMouseEnter = true;
    

    我将此代码添加到我的程序中并解决了问题。

    【讨论】:

      【解决方案2】:

      查看一些有关如何显示表单的代码会有所帮助,但听起来您正在执行类似 secondwindow.Show() 而不是 secondwindow.ShowDialog() 之类的操作,然后来自 GMap 的 OnEnter 事件是做一个焦点()。

      然后,当您在它前面有“其他表单”时,它会以一种限制访问父表单(ShowDialog() 等)的方式打开。

      【讨论】:

      • showDialog() 在我的情况下有效,但我没有代码至少可以为 OnEnter 做一个 focus() ......但既然这有效,非常感谢!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-31
      相关资源
      最近更新 更多