- //Allow the MapControl to intercept arrowkeys when it has focus
- 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中使用上下左右键移动地图功能的实现
最新推荐文章于 2020-10-08 14:56:47 发布