C#制作鹰眼的详细全过程(带注释)实例代码

axMapControl1是主控件,axMapControl2是鹰眼控件

要看清楚事件响应

1.鹰眼地图资源载入


代码如下:

privatevoid axMapControl1_OnMapReplaced(object sender, IMapControlEvents2_OnMapReplacedEvent e)

{

//当主地图显示控件的地图更换时,鹰眼中的地图也跟随更换

axMapControl2.LoadMxFile(axMapControl1.DocumentFilename);

axMapControl2.Extent = axMapControl2.FullExtent;

}

2.绘制鹰眼矩形框


代码如下:

private void axMapControl1_OnExtentUpdated(object sender, IMapControlEvents2_OnExtentUpdatedEvent e)

{

// 得到新范围

IEnvelope pEnv = (IEnvelope)e.newEnvelope;

IGraphicsContainer pGra = axMapControl2.Map as IGraphicsContainer;

IActiveView pAv = pGra as IActiveView;

//在绘制前,清除axMapControl2中的任何图形元素

pGra.DeleteAllElements();

IRectangleElement pRectangleEle = new RectangleElementClass();

IElement pEle = pRectangleEle as IElement;

pEle.Geometry = pEnv;

//设置鹰眼图中的红线框

IRgbColor pColor = new RgbColorClass();

pColor.Red = 255;

pColor.Green = 0;

pColor.Blue = 0;

pColor.Transparency = 255;

//产生一个线符号对象

ILineSymbol pOutline = new SimpleLineSymbolClass();

pOutline.Width = 2;

pOutline.Color = pColor;

//设置颜色属性

pColor = new RgbColorClass();

pColor.Red = 255;

pColor.Green = 0;

pColor.Blue = 0;

pColor.Transparency = 0;

//设置填充符号的属性

IFillSymbol pFillSymbol = new SimpleFillSymbolClass();

pFillSymbol.Color = pColor;

pFillSymbol.Outline = pOutline;

IFillShapeElement pFillShapeEle = pEle as IFillShapeElement;

pFillShapeEle.Symbol = pFillSymbol;

pGra.AddElement((IElement)pFillShapeEle, 0);

pAv.PartialRefresh(esriViewDrawPhase.esriViewGraphics, null, null);

}

3. 实现互动


代码如下:

private void axMapControl2_OnMouseDown(object sender, IMapControlEvents2_OnMouseDownEvent e)

{

IPoint pPt=new PointClass ();

pPt.PutCoords (e.mapX ,e.mapY );

//改变主控件的视图范围

axMapControl1 .CenterAt (pPt );

}

(0)

相关推荐

  • c#删除代码中的单行注释行示例

    复制代码 代码如下: using System.IO; using System.Collections; static string deleteComments(string s) //去掉以//开始的注释 { if (s == null) return s; int pos = s.IndexOf("//"); if (pos < 0) return s; return s.Substring(0, pos); }if (Directory.Exists("Tem

  • c#文件操作示例带详细注释

    复制代码 代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; namespace Example { class Program     { static void Main(string[] args)         {             ////////////////   文件打开  下面的代码打开D:\wang.tx

  • 在C#里面给PPT文档添加注释的实现代码

    平常开会或者做总结报告的时候我们通常都会用到PowerPoint演示文稿,我们可以在单个幻灯片或者全部幻灯片里面添加注释,这样观众可以从注释内容里面获取更多的相关信息. 有些朋友不清楚如何在幻灯片里面添加注释,下面我跟大家分享一下如何在C#里面为幻灯片添加注释. 在这里我使用了一个免费控件--Free Spire.Presentation,有兴趣的朋友可以下载使用. 需要添加的命名空间: using Spire.Presentation; using System.Drawing; 详细步骤和代

  • C# 基础入门--注释

    注释,是代码中的一些"说明性文字".注释本身不会参与程序的编译和运行,仅仅供程序员阅读. 注释分为:单行注释.多行注释.文档注释. 单行注释的符号是2条斜线"//",2条斜线右侧的内容就是注释,左侧的代码不会受影响. 多行注释以"/*"开始,以"*/"结束,之间的内容就是注释,可以包含多行. 文档注释写在类.方法或属性的前面,它的符号是3条斜线"///". namespace Test { /// <

  • C#注释的一些使用方法浅谈

    C# Coding的时候,常常涉及代码注释,常见的注释包括两类:1)单行注释.格式:// Comments2)多行注释.格式:/* Comments... */C#引入了新的XML注释,即我们在某个函数前新起一行,输入///,VS.Net会自动增加XML格式的注释,这里整理一下可用的XML注释.XML注释分为一级注释(Primary Tags)和二级注释(Secondary Tags),前者可以单独存在,后者必须包含在一级注释内部.I 一级注释1. <remarks>对类型进行描述,功能类似&

  • C#实现为类和函数代码自动添加版权注释信息的方法

    本文实例讲述了C#实现为类和函数代码自动添加版权注释信息的方法,分享给大家供大家参考之用.具体方法如下: 以web项目为例: 一:给类加注释 1.在visual studio 的安装路径下 如:[盘符]:/Program files/Microsoft Visual Studio 8/Common7/IDE/ItemTemplates/web/cshare/2052/class.zip ,将里面的class.cs改为: /*------------------------------------

  • c#中xml文档注释编译dll引用到其它项目示例

    复制代码 代码如下: <#@ template debug="True" hostspecific="True" language="C#" #><#@ assembly name="System.Core" #><#@ assembly name="System.Data" #><#@ assembly name="System.xml" #&

  • 使用C#给PDF文档添加注释的实现代码

    整理文档时,我们可能会需要在一些或一段文字上添加注释加以说明,那如何以编程的方式实现呢?本文将实例讲述C#中如何使用免费组件给PDF文档添加文本注释,包括自由文本注释.自由文本注释能允许我们自定义它的风格和外观,非常具有实用价值. 首先,下载这个免费版组件Free Spire.PDF.组件下载安装后,Visual Studio创建C#控制台项目,添加bin文件夹的.DLL作为引用以及以下命名空间: using System; using System.Drawing; using System.

  • C#的XML两种代码注释实例说明

    在C/C++,JAVA中,有两种注释,一种是单行注释,即两根反斜杠(//),另一种是多行注释,即以/*开头,以*/结尾. 在Java中,多行注释(Multiline Comment)分为两种形式: 1.普通多行注释,比如 复制代码 代码如下: /* *多行注释 */ 2.Javadoc注释,比如 复制代码 代码如下: /** *Javadoc注释 */ 当Java源文件编译的时候,Javadoc工具会读取源文件当中的Javadoc注释内容,并生成相应的HTML文档.供开发者参阅API相关的内容.

  • C#制作鹰眼的详细全过程(带注释)实例代码

    axMapControl1是主控件,axMapControl2是鹰眼控件 要看清楚事件响应 1.鹰眼地图资源载入 复制代码 代码如下: privatevoid axMapControl1_OnMapReplaced(object sender, IMapControlEvents2_OnMapReplacedEvent e) { //当主地图显示控件的地图更换时,鹰眼中的地图也跟随更换 axMapControl2.LoadMxFile(axMapControl1.DocumentFilename

  • PHP制作登录异常ip检测功能的实例代码

    使用函数查询数据库遍历实现 /** * 不在常用ip地址登录返回描红信息 * @param string $ip ip地址 * @param string $name 用户名 * @return string */ function errorIp($ip,$name){ $nowip = get_client_ip(); //判断ip和当前ip是否相同,不同则查询数据库对比 if($ip == $nowip ){ //相同直接返回字符串 $str = '<font color="blue

  • 使用vue制作探探滑动堆叠组件的实例代码

    效果图如下所示: 前言 嗨,说起探探想必各位程序汪都不陌生(毕竟妹子很多),能在上面丝滑的翻牌子,探探的的堆叠滑动组件起到了关键的作用,下面就来看看如何用vue写一个探探的堆叠组件 一. 功能分析 简单使用下探探会发现,堆叠滑动的功能很简单,用一张图概括就是: 简单归纳下里面包含的基本功能点: 图片的堆叠 图片第一张的滑动 条件成功后的滑出,条件失败后的回弹 滑出后下一张图片堆叠到顶部 体验优化 根据触摸点的不同,滑动时首图有不同角度偏移 偏移面积判定是否成功滑出 二. 具体实现 有了归纳好的功

  • 比较详细的iisapp使用实例代码

    iisapp -a pid 可以查出对应的域名 反之 iisapp -p domain 查pid的 Iisapp.vbs:IIS 应用程序查询脚本报告为特定的应用程序池提供服务且当前正在运行 w3pwp.exe 进程的进程标识符 (PID). 语法 iisapp [a/ AppPoolName | /p AppPoolID] 参数 /a AppPoolName 指定特定应用程序池的名称.(可选项) /p AppPoolID 按 ID 号指定应用程序池.(可选项) 注释 ? 如果未指定应用程序池名

  • Python制作旋转花灯祝大家元宵节快乐(实例代码)

    目录 1.原材料 1.1 花灯纸 2.2 Python环境和模块 2.源代码 3.效果 1.原材料 1.1 花灯纸 如下所示,还可以加上自己喜欢的图案.文字等. 2.2 Python环境和模块 一台安装了Python环境的电脑,Python环境需要安装以下模块. numpy pillow wxgl 如果没有上述模块,请参考下面的命令安装. pip install numpy pip install pillow pip install wxgl 2.源代码 #元宵节就要到了,花灯要不要来一盏?3

  • JAVA JNI原理详细介绍及简单实例代码

    JAVA JNI原理 JNI是JAVA标准平台中的一个重要功能,它弥补了JAVA的与平台无关这一重大优点的不足,在JAVA实现跨平台的同时,也能与其它语言(如C.C++)的动态库进行交互,给其它语言发挥优势的机会. 有了JAVA标准平台的支持,使JNI模式更加易于实现和使用.在此总结了下面这个知识图: 实例: 环境说明:ubuntu 10.4.2 LTS系统 程序清单1:src/com/magc/jni/HelloWorld.java /** * */ package com.magc.jni;

  • Python画图小案例之小雪人超详细源码注释

    一步步教你怎么用Python画雪人,进一步熟悉Python的基础画图操作,废话不多说,上代码. 希望您给个关注给个赞,也算对我们的支持了. class Shape: # 基类(雪人各部件(形状)共有的属性) def __init__(self, cvns, points, fill): # 构造方法 画布 位置坐标 颜色 self.cvns = cvns # 画布 self.points = points # 坐标(x1, y1, x2, y2) self.fill = fill self.pi

  • mybatis generator 使用方法教程(生成带注释的实体类)

    引言: 最近的一个项目,由于数据库表巨多,导致需要创建N多个java实体.dao.mapper.xml映射文件,如果均使用纯手工编写,无疑需要耗费大量时间和精力.于是上网学习了mybatis generator的使用. 现在项目写完了,闲暇之余把干货奉上,供大家直接使用. 需求场景: 当你的java 项目数据库有N张表需要使用mybatis进行数据库操作时,建议使用mybatis generator 自动生成工具.可以自动帮助你生成java实体类.dao.mapper.xml等. 首先给大家分享

  • javascript中的replace函数(带注释demo)

    javascript这门语言一直就像一位带着面纱的美女,总是看不清,摸不透,一直专注服务器端,也从来没有特别重视过,直到最近几年,javascript越来越重要,越来越通用.最近和前端走的比较近,借此机会,好好巩固一下相关知识点. 1.初识replace 在js中有两个replace函数 一个是location.replace(url) 跳转到一个新的url 一个string.replace("xx","yy") 替换字符串 返回一个新的字符串,该方法并不改变字符串

  • IDEA设置生成带注释的getter和setter的图文教程

    近日在研究重构代码的时候有用到idea的不少插件,比如CheckStyle,同时下载了阿里的开发规约,受到不少启发. 规约中会要求所有的方法都有Javadoc,但是通常我们用idea默认生成的getter和setter方法是不带注释的,当然,我们同样可以设置idea像MyEclipse一样生成带有Javadoc的模板,具体解决方案如下: 比如我们有这么一个pojo类: /** * 人类. * @author eric */ public final class People { /** * 姓名

随机推荐