接着第一篇文章,继续,这是在frmain.cs文件中除了第一篇文章里的代码外的第二部分:
//******************************* 【程序编程相关:释放Com对象的方法.】 【推荐阅读:用ASP的安全验证来对windows 2】 【扩展信息:Wrox的C#高级编程第三版第一部分第一】#region 创建自定义工具,用来测量距离(可以折线)与测量面积
//****************************888 private void mapmain_polytoolused(object sender, axmapxlib.cmapxevents_polytoolusedevent e) //在创建好自己定义的工具后,会根据工具id来选择执行{
if(e.toolnum == 10)//测量距离,这是自定义工具,测量多点的距离
{
mapxlib.points pts = (mapxlib.points)e.points;
mapxlib.point pt1,pt2;
double d=0.0;
//计算顺序两个点距离,累计得到总距离
for(int i=1;i<pts.count;i++)
{
pt1=pts._item(i);
pt2=pts._item(i+1);
d += axmap1.distance(pt1.x,pt1.y,pt2.x,pt2.y);
}
label1.text="距离:" + d.tostring();
}
else if(e.toolnum == 11) //面积,这是自定义工具,这里借用了某位网友的文章,谢谢
{
mapxlib.points pts = (mapxlib.points)e.points;
mapxlib.featurefactory dd = axmap1.featurefactory;
mapxlib.style style = axmap1.defaultstyle;
... 下一页