arcgis 这段代码是在mapcontrol上绘制一个点。

问题是:这段代码单独执行的话没什么。但是如果放在线程中就不显示。求高手指点publicvoidshow(doublex,doubley,refAxMapControlax... 问题是:这段代码单独执行的话没什么。但是如果放在线程中就不显示。求高手指点
public void show(double x, double y, ref AxMapControl axMapControl1)
{

IPoint pPoint = new PointClass();
IMap pMap = axMapControl1.Map;
IActiveView pActiveView = pMap as IActiveView;
IGraphicsContainer pGraphicsContainer;
IElement pElement = new MarkerElementClass();
pGraphicsContainer = (IGraphicsContainer)pActiveView;
IMarkerElement pMarkerElement;
pMarkerElement = new MarkerElementClass();
pPoint.X = x;
pPoint.Y = y;
pElement = pMarkerElement as IElement;
pElement.Geometry = pPoint;
pGraphicsContainer.AddElement((IElement)pMarkerElement, 1);
pActiveView.Refresh();
axMapControl1.Refresh();
}
展开
 我来答
若以下回答无法解决问题,邀请你更新回答
枫雪飘零e0
2013-04-14 · TA获得超过135个赞
知道小有建树答主
回答量:212
采纳率:0%
帮助的人:157万
展开全部
用委托吧~
更多追问追答
追问
试过了,没有用!
单步调试执行也没有错误,但是也不显示。
追答
不能在线程之间共享ArcObjects的组件,所以估计是跨线程调用了吧~invoke之类的也可以试试~
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式