簡單實用的GroupBox控制項

2022-03-02 01:53:53 字數 2081 閱讀 8045

1.功能介紹:可以像winform裡的分組控制項一樣把web頁面上的控制項進行分組。功能雖小,但是實用。有時候我們在進行

web開發的時候,總是想用個這樣的東西,把同一類屬性或操作的控制項放到乙個區域裡,可以讓使用者很清楚地

就能知道這是幹什麼的,給使用者帶來很好的體驗。其實我最想做這樣的東西了,有時候覺得這樣的小東西,  

太簡單,後來在看discuz原始碼的時候,在後台突然發現有這樣的東西,我覺得很不錯,就索性寫了寫,有那裡

不好的地方還請大家批評指正。^_^

2.介面

3。我們來看下**。很簡單。

下面是:  rendercontents的**。

protected

override

void

rendercontents(htmltextwriter writer)if(

!height.isempty)

writer.renderbegintag(htmltextwritertag.fieldset);

writer.addattribute(htmltextwriterattribute.style, _legendstyle);

grouptitle 

=this

.uniqueid.tostring();

writer.renderbegintag(htmltextwritertag.legend);

writer.write(grouptitle);

writer.renderendtag();

base

.rendercontents(writer);

writer.renderendtag();

}4.上面為什麼要用:rendercontents為什麼不用render方法呢?

小結一下:

webcontrol基類中包括的兩個方法:render和rendercontents。control基類中包括render方法。由於webcontrol類繼承自control類,因此,webcontrol類中包含render方法是無可非議的。然而,webcontrol類中卻有乙個rendercontents方法,並且該方法與render方法在功能、引數等方面都非常相似。那麼在呈現控制項過程中到底應該使用哪乙個呢?

實際上,在通常情況下,如果伺服器控制項自webcontrol基類派生,那麼其中的render方法很少使用,而主要使用rendercontents方法實現控制項呈現。為了說明其中的原因,我們必須了解webcontrol基類中render方法的實現邏輯。

在webcontrol基類中的render方法的實現示意性**如下所示:

protected

override

void

render(htmltextwriter output)

在webcontrol基類中的renderbegintag方法的實現示意性**如下:

public

virtual

void

renderbegintag(htmltextwriter output)

else

}在webcontrol基類中的rendercontents方法的實現示意性**如下:

protected

override

void

rendercontents(htmltextwriter output)

分析以上**可以得出以下結論:

一、為了在由webcontrol派生的類中實現控制項呈現,必須重寫addattributestorender、renderbegintag、renderendtag、rendercontents等方法中的乙個或者多個,而不必重寫render方法。

二、重寫addattributestorender、renderbegintag、renderendtag、rendercontents等方法非常重要(請注意重寫這些方法的條件及注意事項),否則伺服器控制項可能會出現丟失標籤的情況,這將嚴重影響伺服器控制項的呈現。

三、當呈現伺服器控制項標籤中的內容時,必須重寫rendercontents方法。

上文介紹了webcontrol類的一些基本知識。尤其是對於上文所列舉的示意性**需要重點理解。這對於實現控制項呈現有著重要作用。

工欲善其事,必先利其器

自繪GroupBox控制項

下面顯示的是效果圖 然後是 其中有一些解釋 using system using system.collections.generic using system.componentmodel using system.diagnostics using system.text using syste...

GroupBox 分組框控制項

groupbox控制項是由system.windows.forms.groupbox類提供的,作用是為其他控制項提供可識別的分組。可在同一頁面,實現多個單選的radiobutton 通常,使用分組框按功能細分窗體,例如,乙個學生在璇姐班級和系別時,為了細分窗體,可用兩個groupbox控制項來設定,...

C 窗體控制項 分組框控制項GroupBox

groupbox控制項又稱為分組框,分組框 groupbox 是對控制項進行分組的控制項,可以設定每個組的標題。分組框控制項屬於容器控制項,一般不對該控制項編碼。groupbox控制項常常用於邏輯地組合一組控制項,如radiobutton 及 checkbox控制項,顯示乙個框架,其上有乙個標題。組...