MeteoInfo二次开发教程(一)_第1页
MeteoInfo二次开发教程(一)_第2页
MeteoInfo二次开发教程(一)_第3页
MeteoInfo二次开发教程(一)_第4页
MeteoInfo二次开发教程(一)_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

frmMain.es[Design]—aPage:iMetcoln'oOrro-Microx^tC#2006Exp<e»Ed«▼a为大田J1电》习LI3▼XSolutionExplorer•Solution'MeteoInfoDem^▼frmMain.es[Design]—aPage:iMetcoln'oOrro-Microx^tC#2006Exp<e»Ed«▼a为大田J1电》习LI3▼XSolutionExplorer•Solution'MeteoInfoDem^▼4X*I邑令m[7鸣'网*笠霁咤।」於部台;।出出0;MeteolnfoDemoErrorU«t00Err。。为0Warnings①0Mcwgz▼2XDescncxionFielineColumnProject和vodOSolution'MeteoInfoOemo'(1project).RMctooInfoDcmo■勾PropertiesFaheTrueTrue798,450Auto^ndowsOefAultLocationMeteolnfoDemoMeteolnfo二次开发教程(一)由于Meteolnfo几经升级,原来写的二次开发教程已经难以满足需求,因此重新开课讲解,有兴趣的朋友最好能根据讲解进行实践。第一课先讲讲最基本的引用Meteolnfo类库和添加LayersLegend、MapView和MapLayout控件。上述3个控件是Meteolnfo类库里最重要的控件:LayersLegend是管理MapFrame和Layer的(还有Group)MapView是地图显示控件MapLayout是图形版面管理控件。使用过Meteolnfo桌面软件应该很容易理解这几个控件的用途。本教程使用的是最新Meteolnfo类库(MeteolnfoC.dll),可以在Meteolnfo软件中找到。开发平台是MicrosoftVisualC#2008ExpressEdition,当然2010也是可以的。1>新建桌面程序项目,并引用Meteolnfo类库:新建一个项目:H。EditViowProjectBuildD^bugDo3FormatTook\MndowHolp.•」・」1J_%>1'内SolutionExplore?EjCwViewPropertiesfrmMainSystem.v/cdcnfForE〉・FormM园亘/I口Right!oLeftLayoutShoxviconSho%MnTa$kbar由SizeSizeGripStyleStdrtPo&itionTagTextTcpMost227.-21引用Meteolnfo类库:

SolutionExplorer-Solution'MeteoInfoDem...▼,X唱I睿国S-L?References,MeteoInfoC口System••••…•口System.Corei…,口System.Data••…QSystem.Data.DataSetExtensions••…•口System.DeploymentJJ口System.Drawing■■英SolutionExplorer|阿英SolutionExplorer|阿Cl3e添加Meteolnfo类库中的控件ChooseToolboxItems•NETFrameworkComponentsCOMComponentsWPFComponentsNameNamespaceAssemblyNameDirectory0LoginSystem.Web.UI.WebContr...System.Web()GlobalAss...口LoginNameSystem.Web.UI.WebContr...System.Web()GlobalAss...口LoginStatusSystem.Web.UI.WebContr...System.Web()GlobalAss...口LoginViewSystem.Web.UI.WebContr...System.Web()GlobalAss...0MainMenuSystem.Windows.FormsSystem.Windows.Fo...GlobalAss...Managementinstall...System.Management.Instr...System.Manageme...GlobalAss...团MapLayoutMeteoInfoC.LayoutMeteoInfoC()D:\MyProg...团MapViewMeteoInfoC.MapMeteoInfoC()D:\MyProg...口MarshalByValueCo...System.ComponentModelSystem()GlobalAss...团MaskedTextBoxSystem.Windows.FormsSystem.Windows.Fo...GlobalAss...AAouL1。乂Tovz+QcvAyr*AA;/-ycuA\/;um1Qou;/■QouUlcbolAuuJ▼Filter:ClearAccessDataSourceLanguage:InvariantLanguage(InvariantCountry)中Version:Browse...OK控件添加后:

宓ToolStripUToolStripContainerToolTipXTrackBarD-.3a"TreeView联VScrollBar国WebBrowser濠MapLayout演LayersLegend辞MapView□CommonControlsToolbox▼4XPointerButtonCheckBoxCheckedListRiozComboBoxDateTimePicker2、添加Meteolnf。类库中的主要控件:在主窗体中添加菜单栏、工具栏、状态栏,以及一,个Splitcontainer和一个TabControL将tabControll的两个TabPage分别改名为Map和Layout:将LayersLegend控件加入Splitcontainer的左边(layersLegendl),将MapView控件添加到

tabControll的Map页面中(mapViewl),将MapLayout控件添加到tabControll的Layout页面中(mapLayoutl),控件的Dock属性设置为Fill。为了将这三个控件相互关联起来,首先要给layersLegendl添加一个MapFrame,点击layersLegendl属性中的MapFrames属性,在弹出的对话框中增加一个MapFrame:&MoteIn:oDeE。"fileEditViewProjeclBuildDebugDateToolsWindowHelp••J―,」Gd09・►T[.11二:-:l二73..:*/|「空&MoteIn:oDeE。"fileEditViewProjeclBuildDebugDateToolsWindowHelp••J―,」Gd09・►T[.11二:-:l二73..:*/|「空*A,•力:七・二』L•.一」IW,Mapview▼1哥于23%田J,XrodbqxfrmMain.es[Design]。StartPageProperties▼,layenLegendlMetecInfoC.Legend.LayersLegerdMeteolnfoDemoMap"rameCollectonEditorAutoSaollMtnSzeAutoStzeMembers:MQtooInfoC.Lfigood-MapfnamoMapFrameNameNeiVMapFrame0Grid0f3v*6ridlabdTrueDra**GridlineFlic*DrasvCridTickLineFalreBGridFontArial,£ptGrtdLineColor■BlackGridLineSixe1GridLineStyteDashGridXDeit10GridXOrigin0GridYDeh10GridVOrigin0□MiteActiveFalxChockedTrue国21一OK[CanedAutoSireModeGrowOnlyAutoValidateEndblePreventFocusChencBackColor口WhiUBackgrcurdlmoge(none)BackgroundlmAgeLAyouTileBordefStyleNoneCau&MValidationTrueContextMenuStrip(none)CurrentMapFremeObjectreferencenotSGtCursorDefaultDoricFillEnabledTrueBFomArial.8PtForeColor■BhckGenerateMemberTrueIrneModeNoControlhLayoutViewFalseBLocation0,0LockedFalseMapFrame^(Collection)MaplAyout(none)EMargin山MaximuntSixe0.03MinimumStze0.0ModifiersPrivateBPadding0.0,0,0・FakeMeieoInfoC.LegerdAlapFramepropenjw:将刚添加的MapFrame的MapView属性设置为mapViewl,Active属性设置为True:将layersLegendl的MapLayout属性设置为mapLayoutl:

3、实现MapView和MapLayout切换:在tabControll_SelectedlndexChanged事件中添加如下代码:privatevoidtabControll_SelectedlndexChanged(objectsender,EventArgse)(if(tabControll.Selectedlndex==1)//MapLayout{layersLegendl.lsLayoutView=true;mapLayoutl.PaintGraphics();mapLayoutl.Refresh();)elseif(tabControll.Selectedlndex==0)//MapviewlayersLegendl.lsLayoutView=false;

mapViewl.lsLayoutMap=false;mapViewl.ZoomToExtent(mapViewl.ViewExtent);4、添加图层:在工具栏中加一个添加图层按钮,并在其Click事件中添加如下代码:privatevoidTSB_AddLayer_Click(objectsender,EventArgse)OpenFileDialogaDlg=newOpenFileDialog();"Supported(*.shp)|*.shp|WMPaDIg.Filter"Supported(*.shp)|*.shp|WMPFormats1*.shp;*.wmp;*.bln;*.bmp;*.gif;*.jpg;*.tif;*.png|ShapeFileFile(*.wmp)|*.wmp|BLNFile(*.bln)|*.bln|"+"BitmapImage(*.bmp)|*.bmp|GifImage(*.gif)|*.gif|JpegImage(*JPg)l*JPg|TifImage(*.tif)|*.tif|Pnglamge(*.png)|*.png|AllFiles(*.*)1*.*";if(aDlg.ShowDialog()==DialogResult.OK){stringaFile=aDIg.FileName;MapLayeraLayer=MapDataManage.OpenLayer(aFile);layer

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论