首先添加一个TabControl控件,然后更改TabPages属性信息,tabPage1改为“地图”,tabPage2改为“制版”,然后在地图栏添加MapControl控件,在制版栏添加PageLayoutControl控件。
在代码窗口添加如下代码:
/// <summary>
/// 拷贝到布局
/// </summary>
public void copyToPageLayout()
{
IObjectCopy objectCopy = new ObjectCopy();//对象拷贝接口
object copyFromMap = axMapControl1.Map;//地图对象
object copyMap = objectCopy.Copy(copyFromMap);//将axMapControl1的地图对象拷贝
object copyToMap = axPageLayoutControl1.ActiveView.FocusMap;//axPageLayoutControl1活动视图中的地图
objectCopy.Overwrite(copyMap, ref copyToMap);//将axMapControl1地图对象覆盖axPageLayout1当前地图
}
private void axMapControl1_OnMapReplaced(object sender, ESRI.ArcGIS.Controls.IMapControlEvents2_OnMapReplacedEvent e)
{
copyToPageLayout();
}
private void axMapControl1_OnAfterScreenDraw(object sender, IMapControlEvents2_OnAfterScreenDrawEvent e)
{
IActiveView activeView = (IActiveView)axPageLayoutControl1.ActiveView.FocusMap;//axPageLayoutControl1的活动视图的地图
IDisplayTransformation displayTransformation = activeView.ScreenDisplay.DisplayTransformation;//活动视图的屏幕显示的显示信息
displayTransformation.VisibleBounds = axMapControl1.Extent;//将axMapControl1的范围赋值给axPageLayoutControl1的范围
axPageLayoutControl1.ActiveView.Refresh();//刷新axPageLayoutControl1的活动视图
copyToPageLayout();//将axMapControl1的地图拷贝到axPageLayoutControl1中
}
注:转载请备注出处!