做磁力链网站,实物黄金哪个网站做的好,北京代理网站备案,wordpress建数据库步骤转自愿文ArcEngine中使用上下左右键移动地图 因项目需要#xff0c;需对mapcontrol控件响应上下左右键#xff0c;从网上找的方法都一样#xff0c;都值提到了需要设置axMapControl1的KeyIntercept属性为1#xff0c;但这样做的结果是#xff0c;除了自己在onkeydown中设…转自愿文ArcEngine中使用上下左右键移动地图 因项目需要需对mapcontrol控件响应上下左右键从网上找的方法都一样都值提到了需要设置axMapControl1的KeyIntercept属性为1但这样做的结果是除了自己在onkeydown中设置的平移1/10个屏幕大小外系统还会有一个默认的平移操作。经研究发现设置axMapControl1的autokeyboardscrolling属性为false即可屏蔽系统默认的对上下左右键的相应方法。 axMapControl1.AutoKeyBoardScrollingfalse;
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. rationX0.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