程序集: SuperMap.Data (in SuperMap.Data)
版本: dll
语法
C# |
---|
public bool Remove( string name ) |
参数
- name
- Type: System..::.String
要进移除的分组名称
返回值
一个布尔值,如果成功返回 true,失败返回 false。备注
首先,详细介绍一下符号库的逻辑管理结构,然后,通过图示方式帮助理解移除分组集合(即 SymbolGroups 类对象)中的子分组(即 SymbolGroup 类对象)情况。
如下图所示,结合 SuperMap Object .NET 的接口,利用图示帮助理解符号库的组织结构,该结构适用于点状符号库、线型符号库和填充符号库。
符号库的组织结构类似于Windows资源管理器的组织结构,磁盘的根目录下下可以存在零个或多个文件夹以及零个或多个文件,每个文件夹中又可以有零个或多个子文件夹以及零个或多个文件,以此类推层层嵌套;符号库的根组就相当于这个磁盘的根目录,文件夹可以看做符号库的子分组,文件就好比各种符号,一个符号库只能存在一个根组,根组中可以有零个或多个子分组以及零个或多个符号,每个子分组下还可以有零个或多个子分组以及零个或多个符号,以此类推。
如下图所示,红色虚线框所示是符号库的根组,根组也是分组,对应 SymbolGroup 类对象,根组是符号库的最高分组层次,根组中可以包含零个或多个子分组以及零个或多个符号,子分组也是分组,同样对应 SymbolGroup 类对象,其中所有子分组又构成一个子分组集合,对应 SymbolGroups 类对象,根组中至多有一个分组集合,即 SymbolGroups 类对象,SymbolGroups 类对象是 SymbolGroup 类对象的集合,用来管理根组中的各子分组,通过 SymbolGroups 类对象来完成根组中子分组的创建与移除。当子分组(例如下图绿色框所示)中还包含有零个或多个子分组以及零个或多个符号,那么这些子分组和符号又构成了的一个分组(下图蓝色虚线框所示), 而这个绿色框标识的子分组称为蓝色虚线框所示的这个分组的父分组,并且,蓝色虚线框中的所有子分组构成了一个子分组集合,对应一个 SymbolGroups 类对象,同样该蓝色虚线框所示的分组中也至多有一个子分组集合,通过这个子分组集合对象来完成该蓝色虚线框所示的分组中的子分组的创建与移除。以此类推,下图中的黄色框所示的子分组对应一个 SymbolGroup 类对象,粉色虚线框内的子分组又构成一个分组对象(此分组对象中包含零个符号和三个子分组),即对应一个 SymbolGroup 类对象,因此,黄色框所示的分组是粉色虚线框所示分组的父分组,同样粉色虚线框所示分组中也包含了一个子分组集合。总之,符号库呈现一种树形组织结构。
注:所谓的分组和子分组是符号库的逻辑组织形式,都是使用户可以将类别相同的符号放在一个组中,从而方便管理和使用。
综上所述,一个符号库(SymbolLibrary)包含有唯一的一个根组(SymbolGroup 类对象),每个 SymbolGroup 类对象至多包含有一个 SymbolGroups 类对象,但却可以包含有零个或多个 Symbol 类对象,其中 SymbolGroups 类对象是 SymbolGroup 类对象的集合,以此实现符号库的树形管理结构。
例如,要移除图一中绿色方框所示的子分组,则移除后不会删除该分组下包含的所有的子分组和符号对象,只是改变了逻辑管理结构,被移除的子分组内包含的子分组和符号对象会移到被移除子分组的父分组(图一图二中黄色框所示为被移除子分组的父分组)下,因此,当移除操作成功后,被移除子分组的父分组逻辑结果会发生变化,但是被删除子分组下的子分组各自的逻辑结构并不改变,也就是图一中粉色虚线框内的子分组及子分组下的结构不变。移除成功后,原来的组织结构变成图二所示的样子,对比图一中蓝色虚线框与图二中粉色虚线框内的变化,即为本例中成功移除子分组后的变化。
图一 移除操作前
图二 移除成功后