在左邊的工具欄中可以找到這個控件
System.Windows.Forms.BindingNavigator
我本來不會寫這種博文的,但一個新同事說技術這事東東要常總結。不過我寫下來。也是為了以后用的時候可以參考一下。
1.使用方法:
首先定義幾個屬性
private int PageCurrent
{
get
{
return Convert.ToInt32(navCurrentPage.Text);
}
set { navCurrentPage.Text = value.ToString(); }
}
private int PageCount
{
get { return Convert.ToInt32(navSumPage.Text); }
set
{
navSumPage.Text = value.ToString();
}
}
private int PageSize
{
get { return 50; }
}
2.查詢方法
private void simpleButton1_Click(object sender, EventArgs e)
{
int _recordCount = 0;
List<BookInfo> modelList = new DataIO().GetBookArtList(PageCurrent == 0 ? 1 : PageCurrent, PageSize, out _recordCount);
PageCount = _recordCount / PageSize;
SetRoleNavigatorState();
listBoxControl1.Items.Clear();
listBoxControl1.DataSource = modelList;
listBoxControl1.DisplayMember = "Title";
listBoxControl1.ValueMember = "Url";
}
3.設置按鈕可用性
private void SetRoleNavigatorState()
{
if (PageCount > 0)
{
if (PageCurrent == 1)
{
this.navFirstPage.Enabled = false;
this.navPrePage.Enabled = false;
this.navNextPage.Enabled = true;
this.navLastPage.Enabled = true;
}
else if (PageCurrent == PageCount)
{
this.navFirstPage.Enabled = true;
this.navPrePage.Enabled = true;
this.navNextPage.Enabled = false;
this.navLastPage.Enabled = false;
}
else
{
this.navFirstPage.Enabled = true;
this.navPrePage.Enabled = true;
this.navNextPage.Enabled = true;
this.navLastPage.Enabled = true;
}
}
else if (PageCount <= 1)
{
this.navFirstPage.Enabled = false;
this.navPrePage.Enabled = false;
this.navNextPage.Enabled = false;
this.navLastPage.Enabled = false;
}
}
4.給控件一個點擊事件
void Navigatorbox_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
{
string itemName = e.ClickedItem.Name;
switch (itemName)
{
case "navFirstPage":
PageCurrent = 1;
simpleButton1_Click(null, null);
break;
case "navPrePage":
PageCurrent--;
simpleButton1_Click(null, null);
break;
case "navNextPage":
PageCurrent++;
simpleButton1_Click(null, null);
break;
case "navLastPage":
PageCurrent = PageCount;
simpleButton1_Click(null, null);
break;
}
}