隨筆-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)  編輯  收藏 所屬分類: DotNetMapXtreme
          專注移動開發--Windows Mobile, Android, iPhone, J2ME, BlackBerry, Symbian, Windows Phone

          慢慢混,慢慢學
          <2008年2月>
          272829303112
          3456789
          10111213141516
          17181920212223
          2425262728291
          2345678

          常用鏈接

          留言簿(43)

          隨筆分類(402)

          隨筆檔案(306)

          相冊

          我的好友們

          搜索

          •  

          積分與排名

          • 積分 - 813994
          • 排名 - 50

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 平阴县| 大丰市| 宣城市| 当阳市| 桑日县| 会理县| 兰考县| 丹东市| 沁阳市| 鹰潭市| 边坝县| 新和县| 白沙| 华容县| 中江县| 大埔县| 龙川县| 绩溪县| 大丰市| 大宁县| 抚宁县| 鲁甸县| 新密市| 濮阳县| 七台河市| 文安县| 潮州市| 综艺| 江安县| 商都县| 上思县| 贡山| 邓州市| 息烽县| 贵南县| 江源县| 漳州市| 全南县| 潍坊市| 武宁县| 潜山县|