我尝试在左击标记时弹出一个消息框。单击标记后,便触发了该事件,并显示了弹出窗口,但它触发了多次(2次)。
这是我的代码
private void gmap_mainMap_OnMarkerClick(GMapMarker item, MouseEventArgs e)
{
if (e.Button == System.Windows.Forms.MouseButtons.Left && item.IsMouseOver){
MessageBox.Show("Marker clicked", "Information");
}
}
任何人都知道为什么该事件多次触发吗?谢谢!
答案 0 :(得分:0)
请确保您可以执行以下操作:
private bool MarkerWasClicked = false;
private void gmap_mainMap_OnMarkerClick(GMapMarker item, MouseEventArgs e)
{
MarkerWasClicked = false;
if (MarkerWasClicked == false){
if (e.Button == System.Windows.Forms.MouseButtons.Left && item.IsMouseOver){
MessageBox.Show("Marker clicked", "Information");
MarkerWasClicked = true;
}
}
}
答案 1 :(得分:0)
您的代码何时订阅该活动?多次触发可能表明没有取消订阅事件。您要取消订阅活动吗?
Read here about unsubscribing,否则可能会导致代码中出现其他不良后果。虽然建议的解决方案可以在短期内解决您的问题,但我建议您多研究一下该问题,以防止将来出现问题。