教程Bug及优化方案1

来源:百度文库 编辑:神马文学网 时间:2024/04/26 00:16:26

教程Bug及优化方案1

 

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

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

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

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

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

解决方法:在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比较合适。