使用Devexpress插件后,界面变得相对比较美观,但是使用arcengine开发gis程序过程中,当程序启动自动加载地图时,在程序中设置了fullextent但是还是不能全图显示。这个问题就不和谐了,因此查阅了相关的帮助文档,想到使用动态界面的方式生成axmapcontrol控件,手动绑定相应的事件。具体的代码如下:
public Form1()
{
InitializeComponent();
this.axMapControl1 = new ESRI.ArcGIS.Controls.AxMapControl();
axMapControl1.Dock = DockStyle.Fill;
xtraTabPage1.Controls.Add(axMapControl1);
registerEvent();
}
//地图控件
private ESRI.ArcGIS.Controls.AxMapControl axMapControl1;
//注册鼠标事件
private void registerEvent()
{
axMapControl1.OnMouseDown += new ESRI.ArcGIS.Controls.IMapControlEvents2_Ax_OnMouseDownEventHandler(axMapControl1_OnMouseDown);
axMapControl1.OnMouseMove += new IMapControlEvents2_Ax_OnMouseMoveEventHandler(axMapControl1_OnMouseMove);
}
private void Form1_Load(object sender, EventArgs e)
{
axMapControl1.LoadMxFile(Application.StartupPath+@"\data\default.mxd");
axMapControl1.Extent = axMapControl1.FullExtent;
}