随笔-348  评论-598  文章-0  trackbacks-0
在载入图层的时候就将各图层名称丢入到子控件的layerList中,并调用ShowLayers()来把各个图层显示出来并加上CheckBox来控制图层的显示。
        /// <summary>
        
/// 显示图层名称
        
/// </summary>

        public void ShowLayers()
        
{
            checkedListBoxLayerControl.Items.Clear();
            
foreach(string layer in layers) {
                checkedListBoxLayerControl.Items.Add(layer);
            }

        }
用到了CheckedListBox控件。
        /// <summary>
        
/// 全选按钮改变Checked状态时
        
/// </summary>
        
/// <param name="sender"></param>
        
/// <param name="e"></param>

        private void checkBoxAll_CheckedChanged(object sender, EventArgs e)
        
{

            
if (checkBoxAll.Checked)
            
{
                
//被选择了则将CheckedListBox中的所有条目都变为Checked状态
                for (int i = 0; i < checkedListBoxLayerControl.Items.Count; i++)
                    checkedListBoxLayerControl.SetItemCheckState(i, CheckState.Checked);
            }
else {
                
//否则变成Unchecked状态
                for (int i = 0; i < checkedListBoxLayerControl.Items.Count; i++)
                    checkedListBoxLayerControl.SetItemCheckState(i, CheckState.Unchecked);               
            }

        }


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

        private void checkedListBoxLayerControl_ItemCheck(object sender, ItemCheckEventArgs e)
        
{
            
if (e.NewValue == CheckState.Checked)
            
{
                
//被选择了则显示相应图层
                mapControl.Map.Layers[checkedListBoxLayerControl.Items[e.Index].ToString()].Enabled = true;               
            }
else {
                
//否则隐藏相应图层
                mapControl.Map.Layers[checkedListBoxLayerControl.Items[e.Index].ToString()].Enabled = false;
            }

        }
本来想做成只要Uncheck一个图层,CheckAll就会自动变成Unchecked状态,但是实际当中如果这样做的话会影响其他的一些功能,暂且不这样做,等后面想好了再重构。

---------------------------------------------------------
专注移动开发

Android, Windows Mobile, iPhone, J2ME, BlackBerry, Symbian
posted on 2008-02-05 02:54 TiGERTiAN 阅读(569) 评论(0)  编辑  收藏 所属分类: DotNetMapXtreme

只有注册用户登录后才能发表评论。


网站导航: