ArcEngine中使用上下左右键移动地图
2017-01-08 20:52
489 查看
转自愿文ArcEngine中使用上下左右键移动地图
因项目需要,需对mapcontrol控件响应上下左右键,从网上找的方法都一样,都值提到了需要设置axMapControl1的KeyIntercept属性为1,但这样做的结果是,除了自己在onkeydown中设置的平移1/10个屏幕大小外,系统还会有一个默认的平移操作。经研究发现,设置axMapControl1的autokeyboardscrolling属性为false即可屏蔽系统默认的对上下左右键的相应方法。
因项目需要,需对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; }
相关文章推荐
- ArcEngine中使用上下左右键移动地图
- ArcEngine中使用上下左右键移动地图
- ArcEngine中使用上下左右键移动地图
- ArcEngine中使用上下左右键移动地图功能的实现
- 使用javascript操作多选列表框,实现动态增加删除,左右移动,上下排序移动等功能。
- Isometric Game Programming 笔记(二)按键控制地图上下左右方向移动
- silverlight中 Storyboard(动画)的使用,实现球的上下循环移动,左右移动,及旋转功能
- TiledMapEditor创建地图,精灵在地图上下左右移动,尚未实现碰撞检测功能
- 使用jquery实现上下左右移动效果
- 【JavaScript】列表(Select)选项(Option)的移动(上下左右)
- 利用键盘上的上下左右(回车)键模拟出tab 键的功能上下左右移动焦点
- 利用键盘上的上下左右(回车)键模拟出tab 键的功能上下左右移动焦点
- 成长手删代码40-listbox js操作上下左右移动.txt
- JavaScript Select和Option列表元素上下左右移动
- Javascript 利用键盘上的上下左右(回车)键模拟出tab 键的功能上下左右移动焦点
- linux下sqlplus使用光标上下左右方法
- 左右两个列表框项之间的添加、移除、上下移动
- 【JavaScript】列表(Select)选项(Option)的移动(上下左右)
- vs2005制做左右上下移动的Listbox ( asp.net , C#)
- 【JavaScript】列表元素上下左右移动:Select和Option的应用