winform自定義分頁控制項

2022-03-14 16:48:38 字數 3777 閱讀 5698

1、控制項**:

public

partial

class

pagercontrol : usercontrol

#endregion

#region 分頁欄位和屬性

private

int pageindex = 1

;

//////

當前頁面

/// public

virtual

intpageindex

set

}private

int pagesize = 1

;

//////

每頁記錄數

/// public

virtual

intpagesize

set

}private

int recordcount = 0

;

//////

總記錄數

/// public

virtual

intrecordcount

set

}private

int pagecount = 0

;

//////

總頁數

/// public

intpagecount

return

pagecount;}}

//////

計算總頁數

/// ///

private

intgetpagecount()

int pagecount = recordcount /pagesize;

if (recordcount % pagesize == 0

)

else

return

pagecount;

}#endregion

public

event

eventhandler onpagechanged;

//////

外部呼叫

/// public

void drawcontrol(int

count)

//////

頁面控制項呈現

/// private

void drawcontrol(bool

callevent)

setformctrenabled();

if (pagecount == 1)//

有且僅有一頁

else

if (pageindex == 1)//

第一頁

else

if (pageindex == pagecount)//

最後一頁

}//////

設定控制項可用性

/// private

void

setformctrenabled()

//////

首頁

/// ///

///private

void movefirstitem_click(object

sender, eventargs e)

//////

/// ///

///private

void movepreviousitem_click(object

sender, eventargs e)

//////

/// ///

///private

void movenextitem_click(object

sender, eventargs e)

//////

末頁

/// ///

///private

void movelastitem_click(object

sender, eventargs e)

//////

跳轉

/// ///

///private

void goitem_click(object

sender, eventargs e)

}//////

跳轉頁數限制

/// ///

///private

void currentitem_textchanged(object

sender, eventargs e) }}

//////

頁數enter鍵

/// ///

///private

void currentitem_keypress(object

sender, keypresseventargs e)

private

bool istextchanged = false

;

//////

頁數改變事件

/// ///

///private

void pagesizeitem_textchanged(object

sender, eventargs e)

else

pagesize =num;

}//////

頁數enter事件

/// ///

///private

void pagesizeitem_keypress(object

sender, keypresseventargs e) }}

}

2、呼叫**:

///

///載入資料

/// ///

///private

void selectform_load(object

sender, eventargs e)

//////

分頁控制項改變事件

/// ///

///void pagercontrol1_onpagechanged(object

sender, eventargs e)

//////

載入資料

//分頁資訊

if (resultdata["

flipinfo

"] != null

) }

}

WinForm 建立自定義控制項

雖然vs為我們提供了很多控制項可以使用,但有時候這些控制項仍然不能滿足我們的要求,比如我們要對部分控制項進行一些個性化的定製,例如美化控制項,這時候就需要自己繪製控制項,或是在原有控制項的基礎上進行修改 自定義控制項分為三種 1 組合控制項 compositecontrols 在原有控制項的基礎上根...

WinForm自定義Loading控制項

在vs2008下封裝winform自定義loading控制項。autocircle.cs封裝了旋轉的圓形,直接在裡面新增label的話,計算圓形扇面的方法有點小複雜,所以在loadingpanel.cs將autocircle和label封裝在一起。該控制項中提供了當loadingpanel狀態變化時...

Winform自定義控制項 Button(下)

先看效果圖 以上所有樣式都是通過vs屬性工具設定的,無需手動寫一行 很方便 為了演示效果,第二行的控制項是第一行滑鼠移動上去的樣式 1 第乙個控制項採用的是背景色加文字實現的效果 2 第二個控制項採用的是背景圖加文字實現的效果 3 第三個控制項完全採用背景圖實現的效果 以上三種形式的button樣式...