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服务器我击中等,但它让我相信这是一些工具提示,因为删除它使事情工作得足够好,地图渲染而不必移动我的鼠标离开图片框控件)。
所以我意识到这是一个模糊的,模糊的问题,但我被困住了,只是把它扔在那里的任何想法。也许我不理解工具提示的更多内容,或者我需要一种不使用工具提示的不同方法?
我还应该说明棱镜。调用服务器确实被执行(使用断点计算出这一点),即使有工具提示,所以不确定发生了什么。
您可以在运行WMS调用时隐藏工具提示(如果它显示的话),然后继续显示工具提示。
我没有任何关于工具提示的知识