ArcEngine中使用上下左右键移动地图

转自愿文ArcEngine中使用上下左右键移动地图

 

 

因项目需要,需对mapcontrol控件响应上下左右键,从网上找的方法都一样,都值提到了需要设置axMapControl1的KeyIntercept属性为1,但这样做的结果是,除了自己在onkeydown中设置的平移1/10个屏幕大小外,系统还会有一个默认的平移操作。经研究发现,设置axMapControl1的autokeyboardscrolling属性为false即可屏蔽系统默认的对上下左右键的相应方法。

axMapControl1.AutoKeyBoardScrolling=false;  
axMapControl1.KeyIntercept = 1;  
private void axMapControl1_OnKeyDown(object sender, ESRI.ArcGIS.MapControl.IMapControlEvents2_OnKeyDownEvent e)  
{  switch (e.keyCode)  {  case (int)System.Windows.Forms.Keys.Up:  PanMap(0d, 0.5d);  break;  case (int)System.Windows.Forms.Keys.Down:  PanMap(0d, -0.5d);  break;  case (int)System.Windows.Forms.Keys.Left:  PanMap(-0.5d, 0d);  break;  case (int)System.Windows.Forms.Keys.Right:  PanMap(0.5d, 0d);  break;  }  
}  private void PanMap(double ratioX, double ratioY)  
{  //Pans map by amount specified given in a fraction of the extent e.g. rationX=0.5, pan right by half a screen   IEnvelope envelope = axMapControl1.Extent;  double h = envelope.Width;  double w = envelope.Height;  envelope.Offset(h * ratioX, w * ratioY);  axMapControl1.Extent = envelope;  
}   

 

转载于:https://www.cnblogs.com/arxive/p/6262706.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/429707.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux reboot命 过程,IDRAC安装dell服务器操作系统(linux or windows),用到生命周期管理器...

1、首先给服务器装上idrac模块,然后给idrac配置一个远程IP,用作管理2、在web界面输入IP,弹出以下界面,输入账号密码登录3、认证成功后,点击虚拟控制台启动4、进入如下界面,点击菜单栏的《虚拟介质》&#x…

DroidPlugin插件化开发

360手机助手使用的 DroidPlugin,它是360手机助手团队在Android系统上实现了一种插件机制。它可以在无需安装、修改的情况下运行APK文件,此机制对改进大型APP的架构,实现多团队协作开发具有一定的好处。 它是一种新的插件机制,一种免安装的运行…

io wait linux,另辟蹊径-诊断工具之 IO wait

导读最近在做日志的实时同步,上线之前是做过单份线上日志压力测试的,消息队列和客户端、本机都没问题,但是没想到上了第二份日志之后,问题来了:1、问题:集群中的某台机器 top 看到负载巨高,集群…

Oracle第二天

Oracle第二天 整体安排(3天) 第一天:Oracle的安装配置(服务端和客户端),SQL增强(单表查询)。 第二天:SQL增强(多表查询、子查询、伪列-分页)&…

linux搭建虚拟化平台报告,部署KVM虚拟化平台------搭建(示例代码)

一 、部署KVM虚拟化平台hyper-v是windows中的虚拟化1、KVM模块直接整合在Linux内核中,kvm是内核模块,虚拟机与kvm模块之间为管理工具2、KVM组成1.KVM Driver---虚拟机创建---虚拟机内存分配---虚拟CPU寄存器读写---虚拟CPU运行2.QEMU (经过简化与修改)--…

linux 选择文件指定的行数据类型,06练习题

1.如何删除一个非空子目录/tmp? BA. del /tmp/*B. rm -rf /tmpC. rm -Ra /tmp/*D. rm -rf /tmp/*2.存放linux默认系统日志文件是 BA./var/log/dmesg #系统启动时日志B./var/log/messages #系统日志C./var/log/secure #登录相关 安全3.用命令ls -l显示出来文件txt的描…

C#多线程编程

C#多线程编程 一、使用线程的理由 1、可以使用线程将代码同其他代码隔离,提高应用程序的可靠性。 2、可以使用线程来简化编码。 3、可以使用线程来实现并发执行。 二、基本知识 1、进程与线程:进程作为操作系统执行程序的基本单位,拥有应用程…

linux apache24 使用,科学网—linux_centos第24_2次课Apache的安装 - 郭会强的博文

第24次课Apache的安装下载apache的网址[rootghq~]# cd /usr/local/src[rootghqsrc]# lsmysql-5.1.40-linux-i686-icc-glibc23.tar.gz从网上下载,使用命令wget[rootghq src]# wgethttp://apache.fayea.com//httpd/httpd-2.2.31.tar.bz2--2015-08-2007:24:43-- http:/…

《DSP using MATLAB 》示例Example6.3

代码: C0 0; B1 [2 4; 3 1]; A1 [1 1 0.9; 1 0.4 -0.4]; B2 [0.5 0.7; 1.5 2.5; 0.8 1]; A2 [1 -1 0.8; 1 0.5 0.5; 1 0 -0.5]; [b1, a1] par2dir(C0, B1, A1)[b2, a2] par2dir(C0, B2, A2)b conv(b1, b2) % Overall direct form numerator a conv(a1…

简单说明c语言程序步骤,C语言的入门简介和三个简单的C语言程序详细说明

学习一种编程语言,最重要的是建立一个练习环境,边学边练才能学好。Keil软件是目前最流行开发80C51系列单片机的软件,Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成…

java入门,学习笔记

编译 通过javac编译java程序,会编译出一个后缀为class的文件,我们再通过java虚拟机(jvm)执行编译后的java程序。 在java中始终有一个main函数,它作为程序的入口,程序从这个入口开始执行一直到结束。 public…

C语言 第五章 选择结构 答案,c语言第五章 选择结构程序设计(习题册答案).doc

第五章 选择结构程序设计基础练习(A)一、填空题1、关系表达式的运算结果是 逻辑 值。C语言没有逻辑型数据,以 1 代表“真”,以 0代表“假”。2、逻辑运算符!是 单目 运算符,其结合性是由 右结合性 。3、C语言提供的三种逻辑运算符…

linux命令之ifconfig详细解释

依赖于ifconfig命令中使用一些选项属性,ifconfig工具不仅可以被用来简单地获取网络接口配置信息,还可以修改这些配置。 1.命令格式: ifconfig [网络设备] [参数] 2.命令功能: ifconfig 命令用来查看和配置网…

c语言 如何连接两个程序,C语言连接两个链表程序

创建两个链表,并这两链表连接起来成为一个链表的示例程序,将以下代码保存到一个源文件中:combine_linked_list.c, 如下所示 –#include #include struct node { int data; struct node *next; }; struct node *even NULL; struct…

微信小程序UI组件、开发框架、实用库...

UI组件 weui-wxss ★852 - 同微信原生视觉体验一致的基础样式库Wa-UI ★122 - 针对微信小程序整合的一套UI库wx-charts ★105 - 微信小程序图表工具wemark ★85 - 微信小程序Markdown渲染库WeZRender ★36 - 微信小程序Canvas增强组件wetoast ★21 - 仿照微信小程序提供的showT…

c语言编程一个 图书管理,我也要用c语言编程一个图书管理系统,

#includeusing namespace std;const int N 25;//定义20本图书struct Book {char name[25];char author[15];char price[7];char publisher[20];char isbn[20];};int ii 19;Book book[N] { { "红与黑","司汤达","26.00","长江文艺出版社&…

十二个球称三次C语言编程,十二个球,有一个不知轻重,现有一个天平,称三次,找出此球!...

平均分成A、B、C三组,每组4个;第一秤:A、B两组先分别放天平左右:情况一:平衡.则问题出在C组,A、B组共8个为标准球. 第二秤用3个标准球和C组的3个球对比, 如果第二秤平衡,剩下的一个就是问题球,第三秤用标准球和问题球对比,得出问题…

loadrunner controller:实时查看VUser的运行情况

1) 如下图,在Run标签页,点击“Vusers...”打开Vuser窗口; 2) 如下图选中一个Vuser点击按钮可以打开Run-Time Viewer窗口,RTV窗口页面显示的就是该Vuser当前的操作; 3) 如下图所示,…

解决鼠标滚动的时候多次执行函数

有这种场景,鼠标滚动到页面的底部的时候,显示剩余的数据; 这种情况有时候会出现的错误是鼠标滚动的时候会多次触发,同样的多次执行ajax,调取数据; 解决的方法是:设置一个全局变量flag,当鼠标滚动…

上海工程技术大学c语言,上海工程技术大学 C语言实习报告.doc

实 习 报 告《高级语言程序设计》2012~2013学年第 一 学期学院(部) 管理学院指导教师 李旭芳班级代号 0315121姓名/学号 张何兵/031512130同组人 无实验一一:实验项目名称:在函数中进行10个学生成绩从高到低排名 sort(int a[10])二&#xff1…