c#工具提示阻塞执行

本文关键字:执行 工具提示 | 更新日期: 2023-09-27 18:11:23

我不知道如何问这个问题,但这是最后的努力,因为我被难住了。

我有这段c#代码,它将发送给服务器(使用JSON)一个请求,以绘制一个映射的wms层。该服务器开始工作并履行其职责,然后wms层就出现在地图上了。

在这段代码中,我有时想要输出他们点击渲染地图的时间(这是一个基于时间轴的渲染),所以使用c#中包含图片框的UserControl,我渲染这个时间轴,然后添加一个工具提示,显示鼠标沿着这个图片框移动的不同时间。

工具提示定义为全局:

ToolTip myToolTip;

那么当我在我的代码位中使用它时:

  private void pictureBox1_MouseClick(object sender, MouseEventArgs e)
    {
      //...blah blah blah stuff to calculate time where user clicked based on width  of timeline drawn in the picturebox etc.
      prisms.callServer("Timetable", "setSelection", selection, null); //call to server to tell it to render the map at the time defined by selection
    }

  private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
    {
       //...blah blah..code to calculate mTheDate showing what the time is where they are where they are hovering
       myToolTip.Show(mTheDate, this, toolTipX, toolTipY, 100);
    }

所以当上面的场景发生时,地图不会渲染,直到我把鼠标从有图片框的userControl上移开。

但是如果我去掉myToolTip。显示在鼠标移动然后分钟我点击地图渲染(我意识到它可能有很多与WMS服务器我击中等,但它让我相信这是一些工具提示,因为删除它使事情工作得足够好,地图渲染而不必移动我的鼠标离开图片框控件)。

所以我意识到这是一个模糊的,模糊的问题,但我被困住了,只是把它扔在那里的任何想法。也许我不理解工具提示的更多内容,或者我需要一种不使用工具提示的不同方法?

我还应该说明棱镜。调用服务器确实被执行(使用断点计算出这一点),即使有工具提示,所以不确定发生了什么。

c#工具提示阻塞执行

您可以在运行WMS调用时隐藏工具提示(如果它显示的话),然后继续显示工具提示。

我没有任何关于工具提示的知识