using System; using System.Windows.Forms; namespace UserControls.Data { public partial class UcPageBar : UserControl { public delegate void GetPageDataEvents(int curPage, int pageSize); //定义委托 public UcPageBar() { InitializeComponent(); // UtilityHelper.SetFont(layoutControl1); } public event GetPageDataEvents PagerEvent; //定义事件 //选择每页显示条数 private void cbxRowCount_SelectedIndexChanged(object sender, EventArgs e) { RowsCount = Convert.ToInt32(cbxRowCount.Text); CurrentPage = 1; if (PagerEvent != null) BtnEvents(sender, e); } //手动输入显示页面编号 private void tbxCurrentPage_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { var page = Convert.ToInt32(tbxCurrentPage.Text); if (page < 1) CurrentPage = 1; else if (page > TotalPages) CurrentPage = TotalPages; else CurrentPage = page; if (PagerEvent != null) BtnEvents(sender, e); } } //点击首页按钮 private void lbFirstPage_Click(object sender, EventArgs e) { if (CurrentPage == 1) return; CurrentPage = 1; if (PagerEvent != null) BtnEvents(sender, e); } //点击上一页按钮 private void lbPrePage_Click(object sender, EventArgs e) { if (CurrentPage == 1) return; if (CurrentPage <= TotalPages) CurrentPage -= 1; if (PagerEvent != null) BtnEvents(sender, e); } //点击下一页按钮 private void lbNextPage_Click(object sender, EventArgs e) { if (CurrentPage == TotalPages) return; if (CurrentPage < TotalPages) CurrentPage += 1; if (PagerEvent != null) BtnEvents(sender, e); } //末页按钮 private void lbEnd_Click(object sender, EventArgs e) { if (CurrentPage == TotalPages) return; CurrentPage = TotalPages; if (PagerEvent != null) BtnEvents(sender, e); } private void BtnEvents(object sender, EventArgs e) { //setTxt(); PagerEvent(CurrentPage, RowsCount); } public void setTxt() { tbxCurrentPage.Text = CurrentPage.ToString(); lbTotalPages.Text = "共 " + TotalPages + "页"; lbTotalRows.Text = "共 " + RecordCount + " 条记录"; cbxRowCount.Text = RowsCount.ToString(); if (CurrentPage == 1) lbFirstPage.Enabled = false; else lbFirstPage.Enabled = true; if (CurrentPage == TotalPages) lbEnd.Enabled = false; else lbEnd.Enabled = true; if (CurrentPage == 1) lbPrePage.Enabled = false; else lbPrePage.Enabled = true; if (CurrentPage == TotalPages) lbNextPage.Enabled = false; else lbNextPage.Enabled = true; } #region 定义属性 /// /// 总页数 /// public int TotalPages { get; set; } /// /// 当前页 /// public int CurrentPage { get; set; } /// /// 每页条数 /// public int RowsCount { get; set; } /// /// 总记录数 /// public int RecordCount { get; set; } #endregion } }