首页 > 开发 > 综合 > 正文

如何在c#中使用mapx5.0(三)

2024-07-21 02:19:04
字体:
来源:转载
供稿:网友
接下来:
//******************************
#region 文件/打开*另存为*导出*按钮的代码

private void menuitem20_click(object sender, system.eventargs e) //打开地图文件(*.gst)(模式对话框)
{
openfiledialog openfd=new openfiledialog();
openfd.title="打开地图"; //
openfd.defaultext=".gst";
openfd.filename="";
openfd.filter="geoset files (*.gst)|*.gst";
if(openfd.showdialog()==dialogresult.ok)
if( (openfd.openfile() )!=null )
{
axmap1.geoset=openfd.filename; //这里存在已各bug,就是当可编辑工具可见时,能打开地图,再点击编辑按钮时,
//会出现错误;回避这个错误,请先点击"取消编辑".
}

}
private void menuitem21_click(object sender, system.eventargs e) //打开图层文件(*.tab)(模式对话框)
{
openfiledialog openfd=new openfiledialog();
openfd.title="打开图层";
openfd.defaultext=".tab";
openfd.filename="";
openfd.filter="mapinfo tables (*.tab)|*.tab";
if(openfd.showdialog()==dialogresult.ok)
if( (openfd.openfile() )!=null )
{
axmap1.layers.add(openfd.filename,0);

}

}
private void menuitem23_click(object sender, system.eventargs e) //保存按钮,保存为 *.gst 形式
{
if(messagebox.show("确定要保存吗?","ok or nor",messageboxbuttons.yesno)==dialogresult.ok)
axmap1.savemapasgeoset(axmap1.titletext,axmap1.geoset);

}

private void menuitem24_click(object sender, system.eventargs e) //另存为... *.gst 形式
{
savefiledialog savefd =new savefiledialog();
savefd.title="保存地图";
savefd.filename="";
savefd.filter="geoset files (*.gst)|*.gst";
if(savefd.showdialog()==dialogresult.ok)
if( (savefd.openfile() )!=null )
{
try
{

axmap1.savemapasgeoset("",savefd.filename); //这里有错误,不能保存!!!!!!!!!!!!
}
catch(exception e1)
{
messagebox.show(e1.message);
}

}

}

private void menuitem25_click(object sender, system.eventargs e) //到处地图,可以 以各种图像的形式到出地图
{
//string exfmtstr1=.tostring();


savefiledialog exportfd =new savefiledialog();
exportfd.title="保存地图";
exportfd.filename="";
exportfd.filter= "windows bitmap(*.bmp)|*.bmp";
if(exportfd.showdialog()==dialogresult.ok)
if( (exportfd.openfile() )!=null )
{
try
{ //mapxlib.exportformatconstants.miformatbmp
axmap1.exportmap(exportfd.filename,mapxlib.exportformatconstants.miformatbmp,axmap1.mappaperwidth,axmap1.mapscreenheight);
//这里有错误,不能保存!!!!!!!!!!!!
}
catch(exception e1)
{
messagebox.show(e1.message);
}

}

}
#endregion

//*************************

//*********************************
#region 编辑菜单按钮事件,创建编辑地图工具栏
//*********************
private void menuitem27_click(object sender, system.eventargs e) //菜单按钮事件,点击后,增加可编辑图层
{
if(this.menuitem27.text.trim()=="编辑")
{
///******************
this.menuitem27.text="取消编辑";
this.tbadddian.visible = true;
this.tbaddxian.visible = true;
this.tbaddquxian.visible = true;
this.tbaddqumian.visible = true;
this.tbline.visible = true;
this.tbshezhi.visible = true;
///***************
///添加信息,初始化可编辑图层
///
mapxlib.layer newlayer;//=new mapxlib.layerclass();
mapxlib.layerinfoclass newlyinfo=new mapxlib.layerinfoclass();
mapxlib.fieldsclass newfield=new mapxlib.fieldsclass();

newfield.addstringfield("geoname",10,10);

newlyinfo.type=mapxlib.layerinfotypeconstants.milayerinfotypetemp;
newlyinfo.addparameter("name","temporary layer");
newlyinfo.addparameter("fields",newfield);

newlayer=axmap1.layers.add(newlyinfo,1);
newlayer.editable=true;
axmap1.layers.insertionlayer=newlayer;

///******************************
///结束
///

}
else if(this.menuitem27.text.trim()=="取消编辑")
{
this.tbadddian.visible = false;
this.tbaddxian.visible = false;
this.tbaddquxian.visible = false;
this.tbaddqumian.visible = false;
this.tbline.visible = false;
this.tbshezhi.visible = false;
this.menuitem27.text="编辑";

///********************
///取消那个可编辑图层
///
axmap1.layers.remove(1);

}

}
#endregion

//*********************************
#region 可编辑地图的工具的工具栏

private void toolbar1_buttonclick(object sender, system.windows.forms.toolbarbuttonclickeventargs e)
{
if(e.button==tbadddian)
axmap1.currenttool=mapxlib.toolconstants.miaddpointtool; //菜单按钮事件,在有可编辑地图的图层上,添加点,使用“添加点工具”
if(e.button==tbaddxian)
axmap1.currenttool=mapxlib.toolconstants.miaddlinetool; //菜单按钮事件,在有可编辑地图的图层上,添加线,使用“添加线工具”
if(e.button==tbaddquxian)
axmap1.currenttool=mapxlib.toolconstants.miaddpolylinetool; //菜单按钮事件,在有可编辑地图的图层上,添加曲线,使用“添加曲线工具”
if(e.button==tbaddqumian)
axmap1.currenttool=mapxlib.toolconstants.miaddregiontool; //菜单按钮事件,在有可编辑地图的图层上,添加区域,使用“添加区域工具”
if(e.button==tbshezhi)
{
frmeditable frm=new frmeditable(); //惨淡按钮事件,是对点、线、区域的样式进行设置的窗口
frm.owner=this;
frm.showdialog();
}

}
#endregion

//*****************************
}
}



中国最大的web开发资源网站及技术社区,
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表