『公告』 预祝您龙年大吉,万事如意, 过节期间, 大家如需数据服务,请拨打400 或直接添加客服微信,再祝大家龙年,心想事成。
关注我们 新浪 腾讯

《ArcGIS Engine+C#实例开发教程》教程Bug及优化方案1

《ArcGIS Engine+C#实例开发教程》教程Bug及优化方案1
《ArcGIS Engine+C#实例开发教程》教程Bug及优化方案1,到第六讲为止已经发现的教程Bug及解决方法如下.

       到第六讲为止已经发现的教程Bug及解决方法如下:

       1、在第二讲可能会出现变量未定义。

       原因:第二讲与第三讲联系紧密,我为控制篇幅才将其分为两讲,某些变量是在第三讲才进行定义,请大家注意。

       2、第六讲弹不出TOCControl的右键菜单

       原因:没有取得m_tocControl的指针,即没有把m_tocControl指针与axTOCControl1控件绑定,导致调用m_menuMap.PopupMenu(e.x, e.y, m_tocControl.hWnd);m_tocControl.hWndNULL,故无法弹出菜单。

       解决方法:在Form1_Load()函数中,添加如下代码:

       m_tocControl = (ITOCControl2)this.axTOCControl1.Object;

       目前已经发现的优化方案如下:

       1、教程第四讲,坐标单位前面的esri,原用switch语句逐一替换,其实直接用取子串(Substring)的方法截去更方便。

       修改代码如下:

       CoordinateLabel.Text = " 当前坐标 X = " + e.mapX.ToString() + " Y = " + e.mapY.ToString() + " " + this.axMapControl1.MapUnits.ToString().Substring(4);

       2、教程第四讲,固定状态栏中的比例尺和当前坐标项目的宽度以防止闪烁。

       方法如下:

       选中状态栏中的比例尺或当前坐标项目,把其autoSize属性设为False,再在Size属性里设置宽度。经测试,比例尺宽度为150,当前坐标宽度为400比较合适。

      京ICP备2025132830号-1 京公网安备 号