<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Windows Forms 分頁控件

      開發WinForm項目中自己寫的一個分頁控件,沒有什么技術含量,不過自己感覺還是蠻好用的,拿出來和大家分享一下。
      一、使用到的WinForm控件有連個toolStrip和一個imageList, imageList主要負責保存四個翻頁的小圖片,


      二、分頁控件工作原理
            1.首先讓控件繼承UserControl, INotifyPropertyChanged,繼承INotifyPropertyChanged,主要是實現當用戶點擊翻頁或者更改文本框里的數字,那么當前列表自動更新信息,如果要做成點擊按鈕翻頁可以直接寫個委托來定義一個事件就可以了,這里這么實現也是為了操作方便。
           實現代碼:
          
          public partial class WinFromPager : UserControl, INotifyPropertyChanged
          {
          }
            2. 定義事件模型,實際上時定義一個在列表頁面執行翻頁的事件
       public event PropertyChangedEventHandler PropertyChanged;

              
      protected virtual void OnPropertyChanged(string propertyName)
              {
                  
      if (PropertyChanged != null)
                  {
                      PropertyChanged(
      thisnew PropertyChangedEventArgs(propertyName));
                  }
              }
            3. 定義屬性
              private int _mixPage = 1;
              
      private int _maxPage = 1;
              
      private int _currentPage = 1;
              
      private int _RecordCount = 0;
              
      private int _pageSize = 20;
              
      private string _lblPageInfo = " 當前頁({0})/總共({1})頁,共({2})條記錄,每頁({3})條";
              /// <sumary>
              
      /// 第一頁索引值
              
      /// </summary>
              public int MixPage
              {
                  
      get
                  {
                      
      return _mixPage;
                  }
                  
      set
                  {
                      _mixPage 
      = value;
                  }
              }

              
      /// <summary>
              
      /// 總頁數
              
      /// </summary>
              public int MaxPage
              {
                  
      get
                  {
                      
      return _maxPage;
                  }
                  
      set
                  {
                      _maxPage 
      = value;
                  }
              }


              
      /// <summary>
              
      /// 當前頁索引
              
      /// </summary>
              public int CurrentPage
              {
                  
      get
                  {
                      
      return this._currentPage;
                  }
                  
      set
                  {
                      
      this._currentPage = value;
                  }
              }

              
      /// <summary>
              
      /// 每頁顯示記錄數
              
      /// </summary>
              public int PageSize
              {
                  
      get
                  {
                      
      return this._pageSize;
                  }
                  
      set
                  {
                      
      this._pageSize = value;
                  }
              }

              
      /// <summary>
              
      /// 開始索引
              
      /// </summary>
              public int StartIndex
              {
                  
      get
                  {
                      
      return ((CurrentPage - 1* PageSize) + 1;
                  }
              }

              
      /// <summary>
              
      /// 結束索引
              
      /// </summary>
              public int EndIndex
              {
                  
      get
                  {
                      
      if ((RecordCount - ((CurrentPage - 1* PageSize)) >= PageSize)
                      {
                          
      return CurrentPage* PageSize;
                      }
                      
      else
                      {
                          
      return RecordCount;
                      }
                  }
              }

              
      /// <summary>
              
      /// 總記錄
              
      /// </summary>
              public int RecordCount
              {
                  
      set
                  {
                      _RecordCount 
      = value;
                      GetPageCount();
                  }
                  
      get
                  {
                      
      return _RecordCount;
                  }
              }

              
      /// <summary>
              
      /// 查詢當前索引頁
              
      /// </summary>
              public int CurrentIndex
              {
                  
      set
                  {
                      
      this._currentPage = value;
                      
      this.lblCurrectPage.Text = _mixPage.ToString();
                  }
              }
           4. 顯示頁面分頁信息
       /// <summary>
              
      /// 顯示頁面分頁信息
              
      /// </summary>
              private void GetPageCount()
              {
                  
      if (RecordCount == 0)
                  {
                      MaxPage 
      = 1;
                  }
                  
      else
                  {
                      
      if (this.RecordCount % PageSize == 0)
                      {
                          MaxPage 
      = this.RecordCount / PageSize;
                      }
                      
      else
                      {
                          MaxPage 
      = this.RecordCount / PageSize + 1;
                      }
                  }
                  
      if (this.CurrentPage == MixPage)
                  {
                      
      this.First.Enabled = false;
                      
      this.Pre.Enabled = false;

                      
      if (RecordCount <= PageSize)
                      {
                          
      this.Next.Enabled = false;
                          
      this.Last.Enabled = false;
                      }
                      
      else
                      {
                          
      this.Next.Enabled = true;
                          
      this.Last.Enabled = true;
                      }
                  }
                  
      this.lblPageInfo.Text = string.Format(_lblPageInfo, this.CurrentPage, MaxPage.ToString(), RecordCount.ToString(), PageSize.ToString());
                  
      this.lblMaxPage.Text = "/" + MaxPage;
                  
      this.lblCurrectPage.Text = CurrentPage.ToString();
              }
            5. 定義事件
              //首頁
              private void First_Click(object sender, EventArgs e)
              {
                  
      this.CurrentPage = MixPage;
                  
      this.lblPageInfo.Text = string.Format(_lblPageInfo, this.CurrentPage, MaxPage.ToString(), RecordCount.ToString(), PageSize.ToString());
                  
      this.lblMaxPage.Text = "/" + MaxPage;
                  
      this.lblCurrectPage.Text = CurrentPage.ToString();
                  
      this.First.Enabled = false;
                  
      this.Pre.Enabled = false;
                  
      this.Next.Enabled = true;
                  
      this.Last.Enabled = true;
                  OnPropertyChanged(
      "CurrentPage");
              }

              
      //上一頁
              private void Pre_Click(object sender, EventArgs e)
              {
                  
      this.CurrentPage = this.CurrentPage - 1;
                  
      this.lblPageInfo.Text = string.Format(_lblPageInfo, this.CurrentPage, MaxPage.ToString(), RecordCount.ToString(), PageSize.ToString());
                  
      this.lblMaxPage.Text = "/" + MaxPage;
                  
      this.lblCurrectPage.Text = CurrentPage.ToString();
                  
      if (this.CurrentPage == this.MixPage)
                  {
                      
      this.First.Enabled = false;
                      
      this.Pre.Enabled = false;
                      
      this.Next.Enabled = true;
                      
      this.Last.Enabled = true;
                  }
                  
      else
                  {
                      
      this.First.Enabled = true;
                      
      this.Pre.Enabled = true;
                      
      this.Next.Enabled = true;
                      
      this.Last.Enabled = true;
                  }
                  OnPropertyChanged(
      "CurrentPage");
              }

              
      //下一頁
              private void Next_Click(object sender, EventArgs e)
              {
                  
      this.CurrentPage = this.CurrentPage + 1;
                  
      this.lblPageInfo.Text = string.Format(_lblPageInfo, this.CurrentPage, MaxPage.ToString(), RecordCount.ToString(), PageSize.ToString());
                  
      this.lblMaxPage.Text = "/" + MaxPage;
                  
      this.lblCurrectPage.Text = CurrentPage.ToString();
                  
      if (this.CurrentPage == MaxPage)
                  {
                      
      this.First.Enabled = true;
                      
      this.Pre.Enabled = true;
                      
      this.Next.Enabled = false;
                      
      this.Last.Enabled = false;
                  }
                  
      else
                  {
                      
      this.First.Enabled = true;
                      
      this.Pre.Enabled = true;
                      
      this.Next.Enabled = true;
                      
      this.Last.Enabled = true;
                  }
                  OnPropertyChanged(
      "CurrentPage");
              }

              
      //末頁
              private void Last_Click(object sender, EventArgs e)
              {
                  
      this.CurrentPage = MaxPage;
                  
      this.lblPageInfo.Text = string.Format(_lblPageInfo, this.CurrentPage, MaxPage.ToString(), RecordCount.ToString(), PageSize.ToString());
                  
      this.lblMaxPage.Text = "/" + MaxPage;
                  
      this.lblCurrectPage.Text = CurrentPage.ToString();
                  
      this.First.Enabled = true;
                  
      this.Pre.Enabled = true;
                  
      this.Next.Enabled = false;
                  
      this.Last.Enabled = false;
                  OnPropertyChanged(
      "CurrentPage");
              }


              
      private void lblCurrectPage_TextChanged(object sender, EventArgs e)
              {
                  
      if (!String.IsNullOrEmpty(lblCurrectPage.Text))
                  {
                      
      this.CurrentPage = int.Parse(lblCurrectPage.Text);
                  }
                  
      else
                  {
                      
      this.CurrentPage = MixPage;
                  }
                  
      this.lblPageInfo.Text = string.Format(_lblPageInfo, this.CurrentPage, MaxPage.ToString(), RecordCount.ToString(), PageSize.ToString());
                  
      this.lblMaxPage.Text = "/" + MaxPage;
                  
      this.lblCurrectPage.Text = CurrentPage.ToString();
                  
      if (this.CurrentPage == this.MaxPage)
                  {
                      
      this.First.Enabled = true;
                      
      this.Pre.Enabled = true;
                      
      this.Next.Enabled = false;
                      
      this.Last.Enabled = false;
                  }
                  
      else if (this.CurrentPage == this.MixPage)
                  {
                      
      this.First.Enabled = false;
                      
      this.Pre.Enabled = false;
                      
      this.Next.Enabled = true;
                      
      this.Last.Enabled = true;
                  }
                  
      else
                  {
                      
      this.First.Enabled = true;
                      
      this.Pre.Enabled = true;
                      
      this.Next.Enabled = true;
                      
      this.Last.Enabled = true;
                  }
                  
      if (this.lblCurrectPage.Text != "")
                  {
                      
      if (int.Parse(this.lblCurrectPage.Text) > MaxPage)
                      {
                          MessageBox.Show(
      "不存在輸入頁碼數據!""輸入信息錯誤", MessageBoxButtons.OK, MessageBoxIcon.Information);
                          
      this.lblCurrectPage.Text = MixPage.ToString();
                          
      this.First.Enabled = false;
                          
      this.Pre.Enabled = false;
                          
      this.Next.Enabled = false;
                          
      this.Last.Enabled = false;
                      }
                  }
                  OnPropertyChanged(
      "CurrentPage");
              }

              
      private void lblCurrectPage_KeyPress(object sender, KeyPressEventArgs e)
              {
                  
      if ((e.KeyChar != 8 && !char.IsDigit(e.KeyChar)) && e.KeyChar != 13)//文本框里只能輸入數字
                  {
                      e.Handled 
      = true;
                  }
              }
      控件基本完成。

      三、調用方法
      在列表頁面的調用方法:
      綁定列表信息:
       private void Bind()
       {
                  DataList.DataBoxList(dataGridView1, winFromPager1.StartIndex, winFromPager1.EndIndex, strWhere.ToString());
       }
      dataGridView1:綁定列表控件名稱
      winFromPager1.StartIndex:開始索引
      winFromPager1.EndIndex:  結束索引
      strWhere.ToString(): 查詢條件

      分頁事件:
       private void winFromPager1_PropertyChanged(object sender, PropertyChangedEventArgs e)
       {
                  Bind(); //綁定列表
       }
      效果圖:

      posted @ 2009-07-28 16:07  love .net FrameWork  閱讀(1422)  評論(1)    收藏  舉報
      主站蜘蛛池模板: 久久97人人超人人超碰超国产| 时尚| 亚洲国产成人久久综合同性| 四虎国产精品成人免费久久| 中文字幕 日韩 人妻 无码| AV人摸人人人澡人人超碰| 亚洲一区二区三区| 成人免费无遮挡在线播放| 邳州市| 色综合久久一区二区三区| 一区二区三区激情都市| 曲水县| 欧美性猛交xxxx乱大交丰满| 人人妻人人添人人爽日韩欧美| 亚洲av永久无码精品漫画| 99久久精品久久久久久婷婷 | 国产又色又刺激高潮视频| 秋霞无码一区二区| 丝袜a∨在线一区二区三区不卡| 华人在线亚洲欧美精品| 日土县| 一本色道久久加勒比综合| 人人超碰人摸人爱| 亚洲精品人妻中文字幕| 亚洲成人av一区二区| 久久国语对白| 国产精品久久久久aaaa| 久久精品国内一区二区三区| 欧美成人精品三级网站| 亚洲AV成人片不卡无码| 欧美日韩国产综合草草| 亚洲一区精品视频在线| 少妇久久久被弄到高潮| 99中文字幕国产精品| 成人乱人伦精品小说| 亚洲国产午夜理论片不卡| 亚洲东京色一区二区三区| 人人澡人人妻人人爽人人蜜桃| 久久人人97超碰精品| 日本高清视频网站www| 香港三级韩国三级日本三级|