隨筆-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 閱讀(586) 評論(0)  編輯  收藏 所屬分類: DotNet 、MapXtreme
          主站蜘蛛池模板: 仁布县| 临汾市| 太仓市| 内江市| 沙坪坝区| 济宁市| 博湖县| 怀宁县| 龙门县| 宁蒗| 维西| 民勤县| 互助| 罗甸县| 临颍县| 盘锦市| 遵化市| 察雅县| 自贡市| 林州市| 兴城市| 通海县| 葫芦岛市| 靖州| 新干县| 榆中县| 东乌珠穆沁旗| 阿拉善盟| 博客| 望奎县| 青铜峡市| 香格里拉县| 无棣县| 监利县| 神木县| 盈江县| 高平市| 福清市| 绍兴县| 安徽省| 南皮县|