ITOCControlEvents接口中有啷个事件
OnBeginLabelEdit、OnEndLabelEdit分别是TOCControl中标签开始编辑和结束编辑时触发的事件。
而这两个事件参数的e中有一个属性canEdit,可以设置是否可以编辑标签,true是可以编辑,false是不可以编辑。
下面是示例:
1 创建一个Form
2 添加全局变量
private ITOCControl m_TOCControl;
3 在Form的load方法中实例化
m_TOCControl = this.axTOCControl.Object as ITOCControl;
4 添加OnBeginEdit事件 ,在其中添加代码,主要目的是让被点击的label设置为可编辑:
private void axTOCControl1_OnBeginLabelEdit(object sender,
ESRI.ArcGIS.TOCControl.ITOCControlEvents_OnBeginLabelEditEvent e)
{
//帮助文档中的代码借用 全都是帮助文档中规定的用法
IBasicMap map = null;
ILayerlayer=null;
object other = null;
object index = null;
esriTOCControlItem item = esriTOCControlItem.esriTOCControlItemNone;
//确定是什么类型的item被点击了
m_TOCControl.HitTest(e.x, e.y, ref item, ref map, ref layer, ref other, ref index);
//借用结束
//只有图层 item能让他们修改label
if (item != esriTOCControlItem.esriTOCControlItemLayer)
{
e.canEdit=false;
}
}
5 添加OnEndLabelEdit事件,在其中添加代码:
private void axTOCControl1_OnEndLabelEdit(object sender,
ESRI.ArcGIS.TOCControl.ITOCControlEvents_OnEndLabelEditEvent e)
{
//讲解一下 e的另一个属性 newLabel
//newLabel specifies a string containing the new label given by the user
// newLabel 指定了一个字符串包含了由用户给出的新标签
//防止空label
if (e.newLabel.Trim() == "")
{
e.canEdit=false;
}
}
注意:先鼠标点击一个标签选中,再点击以下才可以更改。
OnBeginLabelEdit、OnEndLabelEdit分别是TOCControl中标签开始编辑和结束编辑时触发的事件。
而这两个事件参数的e中有一个属性canEdit,可以设置是否可以编辑标签,true是可以编辑,false是不可以编辑。
下面是示例:
1 创建一个Form
2 添加全局变量
private ITOCControl m_TOCControl;
3 在Form的load方法中实例化
m_TOCControl = this.axTOCControl.Object as ITOCControl;
4 添加OnBeginEdit事件 ,在其中添加代码,主要目的是让被点击的label设置为可编辑:
private void axTOCControl1_OnBeginLabelEdit(object sender,
ESRI.ArcGIS.TOCControl.ITOCControlEvents_OnBeginLabelEditEvent e)
{
//帮助文档中的代码借用 全都是帮助文档中规定的用法
IBasicMap map = null;
ILayerlayer=null;
object other = null;
object index = null;
esriTOCControlItem item = esriTOCControlItem.esriTOCControlItemNone;
//确定是什么类型的item被点击了
m_TOCControl.HitTest(e.x, e.y, ref item, ref map, ref layer, ref other, ref index);
//借用结束
//只有图层 item能让他们修改label
if (item != esriTOCControlItem.esriTOCControlItemLayer)
{
e.canEdit=false;
}
}
5 添加OnEndLabelEdit事件,在其中添加代码:
private void axTOCControl1_OnEndLabelEdit(object sender,
ESRI.ArcGIS.TOCControl.ITOCControlEvents_OnEndLabelEditEvent e)
{
//讲解一下 e的另一个属性 newLabel
//newLabel specifies a string containing the new label given by the user
// newLabel 指定了一个字符串包含了由用户给出的新标签
//防止空label
if (e.newLabel.Trim() == "")
{
e.canEdit=false;
}
}
注意:先鼠标点击一个标签选中,再点击以下才可以更改。