控制各个自定义图层显示

在载入图层的时候就将各图层名称丢入到子控件的layerList中,并调用ShowLayers()来把各个图层显示出来并加上CheckBox来控制图层的显示。
 
ExpandedBlockStart.gif ContractedBlock.gif /**/ /// <summary>
        
/// 显示图层名称
        
/// </summary>

         public   void  ShowLayers()
ExpandedBlockStart.gifContractedBlock.gif        
{
            checkedListBoxLayerControl.Items.Clear();
            
foreach (string layer in layers)
ExpandedSubBlockStart.gifContractedSubBlock.gif            
{
                checkedListBoxLayerControl.Items.Add(layer);
            }

        }


ExpandedBlockStart.gifContractedBlock.gif        
/**/ /// <summary>
        
/// 全选按钮改变Checked状态时
        
/// </summary>
        
/// <param name="sender"></param>
        
/// <param name="e"></param>

         private   void  checkAll_Click( object  sender, EventArgs e)
ExpandedBlockStart.gifContractedBlock.gif        
{
            SetAllChecked(checkBoxAll.Checked);
        }


        
private   void  SetAllChecked( bool  value)
ExpandedBlockStart.gifContractedBlock.gif        
{
            GlobalHelper.SetAllChecked(checkedListBoxLayerControl, value);
        }


ExpandedBlockStart.gifContractedBlock.gif        
/**/ /// <summary>
        
/// CheckedListBox中的条目改变Checked状态时
        
/// </summary>
        
/// <param name="sender"></param>
        
/// <param name="e"></param>

         private   void  checkedListBoxLayerControl_ItemCheck( object  sender, ItemCheckEventArgs e)
ExpandedBlockStart.gifContractedBlock.gif        
{
            
string layerName = checkedListBoxLayerControl.Items[e.Index].ToString();
            
if (e.NewValue == CheckState.Checked)
ExpandedSubBlockStart.gifContractedSubBlock.gif            
{
                
//被选择了则显示相应图层
                IMapLayer layer = mapControl.Map.Layers[layerName];
                
if (layer != null)
                    layer.Enabled 
= true;

                
//操作小图标图层
                layer = mapControl.Map.Layers["small" + layerName];
                
if (layer != null)
                    layer.Enabled 
= true;
            }

            
else
ExpandedSubBlockStart.gifContractedSubBlock.gif            
{
                
//否则隐藏相应图层
                IMapLayer layer = mapControl.Map.Layers[layerName];
                
if (layer != null)
                    layer.Enabled 
= false;

                
//操作小图标图层
                layer = mapControl.Map.Layers["small" + layerName];
                
if (layer != null)
                    layer.Enabled 
= false;

                checkBoxAll.Checked 
= false;
            }

        }


ExpandedBlockStart.gifContractedBlock.gif        
/**/ /// <summary>
        
/// 开启指定的图层,关闭其他图层
        
/// </summary>
        
/// <param name="layerNames"></param>

         public   void  SetLayersEnabled(ArrayList layerNames)
ExpandedBlockStart.gifContractedBlock.gif        
{
            
for (int i = 0; i < checkedListBoxLayerControl.Items.Count; i++)
ExpandedSubBlockStart.gifContractedSubBlock.gif            
{
                
string layerName = checkedListBoxLayerControl.Items[i].ToString();
                
//历史回放,隐患展现,巡检路径和巡检员定位的图层一直显示出来
                if (!layerNames.Contains(layerName) && layerName != GlobalHelper.LayerHistory && layerName != GlobalHelper.LayerTrouble
                    
&& layerName != GlobalHelper.LayerInspectman && layerName != GlobalHelper.LayerLines)
ExpandedSubBlockStart.gifContractedSubBlock.gif                
{
                    checkedListBoxLayerControl.SetItemChecked(i, 
false);
                }

                
else
ExpandedSubBlockStart.gifContractedSubBlock.gif                
{
                    checkedListBoxLayerControl.SetItemChecked(i, 
true);
                }

            }

        }


ExpandedBlockStart.gifContractedBlock.gif        
/**/ /// <summary>
        
/// 开启或关闭所有图层
        
/// </summary>
        
/// <param name="value"></param>

         public   void  SetAllLayersEnabled( bool  value)
ExpandedBlockStart.gifContractedBlock.gif        
{
            checkBoxAll.Checked 
= value;
            SetAllChecked(value);
        }


ExpandedBlockStart.gifContractedBlock.gif        
/**/ /// <summary>
        
/// 开启或关闭指定图层
        
/// </summary>
        
/// <param name="layerNameTemp"></param>
        
/// <param name="bEnabled"></param>

         public   void  SetLayerEnabled( string  layerNameTemp,  bool  bEnabled)
ExpandedBlockStart.gifContractedBlock.gif        
{
            
if (string.IsNullOrEmpty(layerNameTemp))
                
return;

            
for (int i = 0; i < checkedListBoxLayerControl.Items.Count; i++)
ExpandedSubBlockStart.gifContractedSubBlock.gif            
{
                
string layerName = checkedListBoxLayerControl.Items[i].ToString();
                
if (layerName.Equals(layerNameTemp))
ExpandedSubBlockStart.gifContractedSubBlock.gif                
{
                    checkedListBoxLayerControl.SetItemChecked(i, bEnabled);
                    
return;
                }

            }

        }

转载于:https://www.cnblogs.com/tigertian/archive/2008/10/05/1304124.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值