TOCControl默认允许用户自动地切换图层的可见性并改变显示在目录表中的名称。你可以增加代码防止用户在编辑名称时输入空的字符串。
1.在Form_Load事件的开始增加下列代码。
private
void
Form1_Load(
object
sender, System.EventArgs e)
{
//
当缩放时禁止重绘
this
.SetStyle(
ControlStyles.EnableNotifyMessage,
true
);
//
设置标签编辑为手动方式
axTOCControl1.LabelEdit = esriTOCControlEdit.esriTOCControlManual;
// 后面是加载文档代码
// ……
2.在设计模式显示窗体并从属性窗口选择AxTOCControl1控件,显示AxTOCControl事件。双击OnEndLabelEdit向代码窗口添加事件处理函数。
3.
在
axTOCControl1_OnEndLabelEdit
事件中添加以下代码:
private
void
axTOCControl1_OnEndLabelEdit(
object
sender, ESRI.ArcGIS.TOCControl.ITOCControlEvents_OnEndLabelEditEvent e)
{
//
禁止在编辑标签时键入空字串
string
newLabel = e.newLabel;
if
( newLabel.Trim() == "" )
{
e.canEdit =
false
;
}
}
4.生成并生成应用程序。编辑TOCControl控件的地图、图层、标题或图例类的标签,在其上点击一次,然后再点一次调用标签编辑。试着用空字串替代标签。在编辑期间,你可以随时使用键盘上的ESC键取消编辑。