既然大胆猜测了,那么我们在小心验证一下 单独搜索“ActiveView.Activate” 发现另外文章的代码是 //Activate MapControl. mapCtrl.ActiveView.Activate(mapCtrl.hWnd); 可见这里其实就是激活并将地图绘制在那个控件上
因为我不玩acrmap,不过大体上查了一下这add-in方式。 相当于给acrmap写一个插件,那么还是基于程序员思维方式。既然是写插件,他们插件和主程序之间必然会有交互,他必然共享一些数据和接口。 查看一下acr的文档 http://help.arcgis.com/en/sdk/10.0/arcobjects_net/componenthelp/index.html#//00230000002w000000 说明他通过IApplication和你交互,这里就有 Read-only property hWnd The handle of the application's window. 即主窗体的句柄。(不过这个主窗体句柄释放就是绘制UI句柄我就不敢说了) 大概的方式为 ArcMap.Application.hwnd -----------arcmap主窗体句柄
GetDesktopWindow?? 这个是win32api,只是获取一个句柄。不需要退。(有你没你句柄都存在,你只是获取一下)
110,539
社区成员
642,577
社区内容
加载中
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧