当我将鼠标悬停在GMap.NET控件上时,为什么我的表单位于顶部?

时间:2014-09-10 09:43:39

标签: c# winforms gmap.net

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

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

所以我的问题是:为什么会发生这种情况,我可以改变这种行为吗?它是GMap.NET控件的标准吗?我正在使用版本1.7.0.0控制btw。

2 个答案:

答案 0 :(得分:11)

你必须使用

GMap1.DisableFocusOnMouseEnter = true;

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

答案 1 :(得分:3)

有关如何显示表单的一些代码会有所帮助,但听起来你正在做类似secondwindow.Show()而不是secondwindow.ShowDialog()的事情,然后来自GMap for OnEnter的事件是做焦点()。

然后,当你面前有“其他形式”时,它会以限制访问父窗体(ShowDialog()等)的方式打开。