分析C# ListBox控件
這里介紹C# ListBox控件,以一個標(biāo)準(zhǔn)生成控件方式來繪制這個控件,其中包括table標(biāo)簽以及該標(biāo)簽與我添加的按鈕的生成方式等。當(dāng)我編寫生成顯示部分時,也就是在我想注入繼承的原始的ListBox的地方,我調(diào)用了base.Render方法。這將把微軟為C# ListBox控件編寫的所有代碼注入到我試圖繪制的HTML部分。下面列出的屬性決定了這部分代碼的外觀與行為。在本文中,我沒有列出相應(yīng)的屬性代碼,但是你可以在下載源代碼中找到。注意,在代碼中,你要生成的按鈕將導(dǎo)致一個回寄(基于屬性ReorderButtonPostback的值);而對接口IPostBackEventHandler的實現(xiàn)將捕獲這個回寄。
EnhancedListBox屬性
屬性名 類別
UPButtonCaption Appearance
DownButtonCaption Appearance
ShowReorderButtons Appearance
ShowHeading Appearance
HeadingCaption Appearance
ReorderButtonPostBack Behavior
SideButtonWidth Layout
SideButtonHeight Layout
SideButtonVerticalAlign Layout
ReorderButtonSide Layout
UpButtonStyle Styles
DownButtonStyle Styles
ListBoxStyle Styles
HeadingStyles Styles
現(xiàn)在,你可以讓該按鈕多負(fù)責(zé)一些工作而不是僅引發(fā)一個回寄。最終的產(chǎn)品中包含事件處理代碼;這部分代碼位于接口 IPostBackEventHandler的實現(xiàn)中,這樣以來事件能夠被有選擇地向服務(wù)器激發(fā),而另一方面開發(fā)者也可以在此處加入更多的代碼。但是記住,你要使用這些按鈕來重排序C# ListBox控件中的項,并且希望在不執(zhí)行回寄的情況下實現(xiàn)這一功能?,F(xiàn)在,我們開始分析最有趣的部分。
【編輯推薦】