当前位置:  编程技术>.net/c#/asp.net

C#+MO实现一个道路编辑软件(刚开始)

    来源: 互联网  发布时间:2014-10-13

    本文导语:  //********************************************************** //******主窗口程序 //******************************************************** using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using Sys...

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

//******主窗口程序

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

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace IRND_DPT
{
    public partial class frmMain : Form
    {
        IRND_DPT.layerVariable pubLayerVariable = new layerVariable ();
        public frmMain()
        {
            InitializeComponent();
        }
        //添加图层
        private void tlbAddLayer_Click(object sender, EventArgs e)
        {
            IRND_DPT.OpenFile AddFile = new OpenFile();
            AddFile.OpenShapeFiles(CD1,axMap1 );

            object refMap = (object)this.axMap1;
            bool refTrue = true;
            short refShort = 0;
            axlegend1.setMapSource(ref refMap);
            axlegend1.ShowAllLegend();
            axlegend1.LoadLegend(ref refTrue);
            axlegend1.set_Active(ref refShort, true);
            axMap1.Refresh();
            axlegend1.Refresh();

            //AddFile(CD1, axMap1);
        }
        //删除图层
        private void toolStripButton4_Click(object sender, EventArgs e)
        {
            if (pubLayerVariable.MapLayerIndex >= 0)
            {
                for (int i = 0; i = 0)
            {
                MapObjects2.MapLayer layer= (MapObjects2.MapLayer )axMap1.Layers.Item(e.index );
                pubLayerVariable.MapLayerName = layer.Name;
                pubLayerVariable.MapLayerIndex = e.index;                
            }
            axMap1.TrackingLayer.Refresh(true, axMap1.Extent);
        }
        //放大
        private void tlb_ZoomIn_Click(object sender, EventArgs e)
        {
            axMap1.MousePointer = MapObjects2.MousePointerConstants.moZoomIn;
        }
        //缩小
        private void tlb_ZoomOut_Click(object sender, EventArgs e)
        {
            axMap1.MousePointer = MapObjects2.MousePointerConstants.moZoomOut;
        }
        //漫游
        private void tlb_Pan_Click(object sender, EventArgs e)
        {
            axMap1.MousePointer = MapObjects2.MousePointerConstants.moPan;
        }
        //全图
        private void tbl_Full_Click(object sender, EventArgs e)
        {
            axMap1.Extent = axMap1.FullExtent;
            axMap1.MousePointer = MapObjects2.MousePointerConstants.moArrow;
        }
        //逐渐放大
        private void tbl_SmallIn_Click(object sender, EventArgs e)
        {
            MapObjects2.Rectangle r = axMap1.Extent;
            r.ScaleRectangle(0.9);
            axMap1.Extent = r;
        }
        //逐渐缩小
        private void tbl_SmallOut_Click(object sender, EventArgs e)
        {
            MapObjects2.Rectangle r = axMap1.Extent;
            r.ScaleRectangle(1.1);
            axMap1.Extent = r;
        }
        //选择查询
        private void tbl_Identify_Click(object sender, EventArgs e)
        {
            axMap1.MousePointer = MapObjects2.MousePointerConstants.moIdentify;
        }
        //属性浏览
        private void toolStripButton2_Click(object sender, EventArgs e)
        {
            if (pubLayerVariable.MapLayerIndex >= 0 & pubLayerVariable.MapLayerName != null)
            {
                MapObjects2.MapLayer lyr = (MapObjects2.MapLayer )axMap1.Layers.Item(pubLayerVariable.MapLayerName);
                IRND_DPT.frmBrowseAttr frmBrowset = new frmBrowseAttr();                
                frmBrowset.IniListview(lyr);
                frmBrowset.ShowDialog(this); 
            }
        }
        //地图响应事件
        private void axMap1_MouseDownEvent(object sends, AxMapObjects2._DMapEvents_MouseDownEvent e)
        {
            MapObjects2.Rectangle rect;
            MapObjects2.Point curp;
            MapObjects2.MapLayer lyr;
            MapObjects2.Recordset rest;

            switch (axMap1.MousePointer)
            {
                //放大                    
                case MapObjects2.MousePointerConstants.moZoomIn:
                {                    
                    rect = axMap1.TrackRectangle();
                    if (rect.Width == 0 || rect.Height == 0)
                    {
                        rect = axMap1.Extent;
                        rect.ScaleRectangle(0.5);
                    }
                    axMap1.Extent = rect;
                    break;
                }
                //缩小
                case MapObjects2.MousePointerConstants.moZoomOut:
                {
                    MapObjects2.Rectangle Tempr;
                    Tempr = axMap1.Extent;
                    rect = axMap1.TrackRectangle();
                    double NewSR;
                    if (rect.Width != 0 || rect.Height != 0)
                    {
                        if (axMap1.Extent.Width / rect.Width  > axMap1.Extent.Height / rect.Height)
                        {
                            NewSR = axMap1.Extent.Height / rect.Height;
                        }
                        else
                        {
                            NewSR = axMap1.Extent.Width / rect.Width;
                        }
                        Tempr.ScaleRectangle(NewSR);
                    }
                    else 
                    {
                        Tempr.ScaleRectangle(2.0);
                    }
                    axMap1.Extent = Tempr;
                    break;
                }
                //漫游
                case MapObjects2.MousePointerConstants.moPan:
                {
                    axMap1.Pan();
                    break;
                }
                //选择查询
            case MapObjects2.MousePointerConstants.moIdentify:
                {
                    if (pubLayerVariable.MapLayerIndex >= 0 && pubLayerVariable.MapLayerName != "")
                    {
                        rect = axMap1.TrackRectangle();
                        lyr = (MapObjects2.MapLayer)axMap1.Layers.Item(pubLayerVariable.MapLayerIndex);
                        if (rect.Width == 0)
                        {
                            curp = axMap1.ToMapPoint(e.x, e.y);
                            rest = lyr.SearchByDistance(curp, (double)axMap1.ToMapDistance((float)Screen.PrimaryScreen.WorkingArea.X * 5), "");
                        }
                        else
                        {
                            rest = lyr.SearchShape(rect, MapObjects2.SearchMethodConstants.moAreaIntersect, "");
                        }
                        if (rest.EOF!=true)
                        {
                            axMap1.FlashShape(rest.Fields.Item("shape").Value, 2);
                            IRND_DPT.frmIdentify FunctionClass = new frmIdentify();
                            ////FunctionClass.Close();  
                            FunctionClass.CurRecordSet(rest);
                            FunctionClass.IniTvFeat(rest, lyr.Name);
                            FunctionClass.IniLvwAttr(rest);
                            FunctionClass.Show(this);
                        }
                    }
                    break;
                }
            }
        }


        ////////
        ///////////////////////////////////////////////////////////////////////////////////////////////
    }
}

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

//********属性查询

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

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace IRND_DPT
{
    public partial class frmIdentify : Form
    {
        MapObjects2.Recordset mrs;        

        public frmIdentify()
        {
            InitializeComponent();
        }
        private void frmIdentify_Load(object sender, System.EventArgs e)
        {
            lvwAttr.View = View.Details; 
            lvwAttr.Columns.Add("字段",50,HorizontalAlignment.Left );
            lvwAttr.Columns.Add ("值",50,HorizontalAlignment.Center );

        }

        //


        private void tvFeat_NodeMouseClick(object sender, System.Windows.Forms.TreeNodeMouseClickEventArgs e)
        {
            string ID;
            ListViewItem Item;

            //if (e.Node.Parent == null) { return; }
            lvwAttr.Items.Clear();
            ID = e.Node.Text;
            mrs.MoveFirst();
            while (mrs.EOF != true)
            {
                if (ID == mrs.Fields.Item("FeatureID").ValueAsString)
                {
                    for (short fld = 1; fld = 2)
            {
                int i = 0;
                foreach (TreeNode tn in tvFeat.Nodes)
                {                    
                    i=i+1;
                    if (i == 2) 
                    { 
                        n = tn;
                        break;
                    }
                }              

                if (n.Text != null)
                {
                    rst.MoveFirst();                    
                    ID = rst.Fields.Item("FeatureID").ValueAsString;                    
                    while (rst.EOF != true)
                    {
                        if (ID == n.Text)
                        {
                            for (short fld = 1; fld 

    
 
 

您可能感兴趣的文章:

  • 如何实现redhat linux下的文本编辑器text editor里面的内容拷贝到netscape中的文本编辑器中
  • 关于编辑器高彩色语法的实现
  • vi编辑器中如何实现剪切和粘贴 ?
  • 求救!!怎样编辑MBR实现双引导!
  • 使用#default#userdata组件实现的可记忆内容的编辑器
  • 我现在做一个动态新闻管理系统,要把编辑好的网页上传到服务器指定的文件夹去,如何有好的实现?
  • 难道就没人能够用java 实现类似word 公式编辑??400分用多贴加给你!!!肯定给!!
  • DevExpress实现GridControl单元格编辑验证的方法
  • Android实现新增及编辑联系人的方法
  • Repeater控件实现编辑、更新、删除等操作示例代码
  • jquery下Jcrop插件实现头像编辑器
  • jquery实现点击文字可编辑并修改保存至数据库
  • 利用jQuery实现可以编辑的表格
  • 自定义Adapter并通过布局泵LayoutInflater抓取layout模板编辑每一个item实现思路
  • 基于jquery实现的可编辑下拉框实现代码
  • DropDownList的GridView编辑、删除的实现代码
  • 用js实现的DIV+CSS编辑器代码
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • destoon实现调用自增数字从1开始的方法
  • 新的一月份的第一次点击时,字段自动从1开始计数,怎么实现?
  • 求助 shell中split命令如何实现文件分割 并统计分割文件个数。分割完之后,命名方式从 文件名.001 开始
  • 请教点击开始-->搜索-->文件和文件夹-->搜索选项-->日期-->介于选择日期的那个框怎么实现的??
  • 某年第一周开始日期实现方法
  • 如何在linux下构建java开发环境? 从实现 helloworld开始
  • 详解MySQL中DROP,TRUNCATE 和DELETE的区别实现mysql从零开始
  • jQuery ui 利用 datepicker插件实现开始日期(minDate)和结束日期(maxDate)
  • oracle获取上一旬的开始时间和结束时间的实现函数
  • python实现的一只从百度开始不断搜索的小爬虫
  • C++ 创建桌面快捷方式 开始菜单的实现代码
  • 基于Silverlight DataGrid中无代码设置开始与结束日期DatePicker的实现方法
  • 从零开始学android实现计算器功能示例分享(计算器源码)
  • 通过javascript实现DIV居中,兼容各浏览器版本
  • socket实现多文件并发传输,求助多线程实现问题?
  • Python GUI编程:tkinter实现一个窗口并居中代码
  • interface 到底有什么用???实现接口,怎么实现??
  • 通过javascript库JQuery实现页面跳转功能代码
  • 怎么用Jsp实现在页面实现树型结构?
  • sharepoint 2010 使用STSNavigate函数实现文件下载举例
  • windows 下的PortTunnel 在linux下怎么实现?或者相应的已经实现的软件?端口映射
  • php实现socket实现客户端和服务端数据通信源代码
  • 网站重定向用C语言实现iptables,ACL实现
  • flash AS3反射实现(describeType和getDefinitionByName)
  • 在linux下如何编程实现nslookup命令实现的IP地址和域名互相转换的功能?
  • boost unordered_map和std::list相结合的实现LRU算法
  • 求在freebsd+Squid下实现pc上网的透明代理的实现方法!给出具体配置方法的高分谢!
  • 用js实现的DIV+CSS编辑器代码 iis7站长之家
  • linux下如实现与window下的驱动器实现文件共享??
  • 使用java jdk中的LinkedHashMap实现简单的LRU算法
  • qt如何实现:操作键盘实现数据的滚动?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3