一个ToolbarControl可以控制两个伙伴控件,比如在用到鹰眼时,如果鹰眼上的全图太小导致展示框太小,可以使用此功能放大。
publicpartialclassForm1 :Form
{
intindex=0;
publicForm1()
{
ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.Engine);
InitializeComponent();
}
privatevoidMapctr1_Enter(objectsender,EventArgse)
{
//当MapControl1被选中时,设置ToolbalControl和¨TOCCControl的绑定对象为MapControl1
ToobarCtr.SetBuddyControl(Mapctr1);
TOCCCtr.SetBuddyControl(Mapctr1);
//ToobarCtr.Update(index , false);
}
privatevoidMapctr2_Enter(objectsender,EventArgse)
{
//当MapControl2被选中时,设置ToolbalControl和OCCControl的绑定对象为MapControl2
ToobarCtr.SetBuddyControl(Mapctr2);
TOCCCtr.SetBuddyControl(Mapctr2);
//ToobarCtr.Update(index, true);
}
privatevoidToobarCtr_OnItemClick(objectsender,ESRI.ArcGIS.Controls.IToolbarControlEvents_OnItemClickEvente)
{
switch (e.index)
{
case1:
index =e.index;
label1.Text=index+"";
break;
case2:
index =e.index;
label1.Text=index+"";
break;
case5:
index =e.index;
label1.Text=index+"";
break;
}
}
}
此方法的一个缺陷是,每次焦点在MapControl1和MapControl2之间切换时,之前在ToolbarControl上选择好的项被清空,即ToolbarControl被重置为初始的为选择项状态,因为我们执行了一句ToobarCtr.SetBuddyControl(Mapctr1/2)
期待高手解决!