ArcEngine中使用上下左右键移动地图
生活随笔
收集整理的這篇文章主要介紹了
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
總結
以上是生活随笔為你收集整理的ArcEngine中使用上下左右键移动地图的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ffmpeg库音频解码示例
- 下一篇: 【6G】算力网络技术白皮书整理