1.視覺:
GetDesignTimeHtml:傳回設計時期的HTML程式碼。
UpdateDesignTimeHtml:當屬性變動時被呼叫,預設情況下此函式會呼叫GetDesignTimeHtml函式重新取得HTML程式碼來更新控件的外觀。
GetEmptyDesignTimeHtml:當GetDesignTimeHtml函式無法取得HTML程式碼時被呼叫,預設的ControlDesigner.GetDesignTimeHtml函式來取得HTML程式碼,假設該控件無法提供設計時期的HTML,那么此函式會被呼叫,預設是以[Site.Name + Control Name]顯示。
GetErrorDesignTimeHtml:當GetDesignTimeHtml函式發生例外時被呼叫,倘若此函式仍傳回空字串,GetEmptyDesignTimeHtml函式會被呼叫。
CreatePlaceHolderDesignTimeHtml:傳回一個預設的Place Holder HTML,簡單的說就是<table>…..</table>,用來顯示一些資訊,例如當控件依賴使用者設定Template來顯示,但是使用者并未設定任何Template時,可於GetEmptyDesignTimeHtml呼叫此函式并傳入提示訊息,令其顯示於Designer之上。
2.事件通知:
DoDefaultAction:當使用者在控件上面按兩下滑鼠鍵時呼叫,一般此處是產生預設事件的處理函式,如Button.Click事件處理函式。
OnComponentChanged:屬性或事件變動時呼叫。
OnSetComponentDefaults:設定控件屬性的預設值時呼叫,通常發生於控件初建立時。
OnSetParent:當控件成為某個控件的子控件時呼叫。
OnControlResize:當控件大小被改變時呼叫。
OnBehaviorAttached:當Designer將Behavior物件緊結至ControlDesigner物件時呼叫。
OnbehaviorDateching:當Behavior物件被解除緊結時呼叫。
OnBindingsCollectionChanged:當DateBinding資訊改變時呼叫。
PreFilterProperties:當以TypeDescriptor物件取得屬性時被呼叫,用來過濾欲顯露於外的屬性。
PostFilterProperties:當以TypeDescriptor物件取得屬性時被呼叫,用來過濾欲顯露於外的屬性,此函式是在PreFilterProperties函式之后呼叫。
PreFilterAttributes:當以TypeDescriptor物件取得Attribute時被呼叫,用來過濾欲顯露於外的Attributes。
PostFilterAttributes:當以TypeDescriptor物件取得Attribute時被呼叫,用來過濾欲顯露於外的Attributes,此函式是在PreFilterAttributes函式之后呼叫。
PreFilterEvents:當以TypeDescriptor物件取得事件時被呼叫,用來過濾欲顯露於外的事件。
PostFilterEvents:當以TypeDescriptor物件取得事件時被呼叫,用來過濾欲顯露於外的事件,此函式是在PreFilterEvents函式之后呼叫。
3.能力
AllowResize:控件是否允許改變大小。
DesignTimeHtmlRequestLoadComplete:當傳回true時,Designer在處理完所有控件時會再呼叫此ControlDesigner.UpdateDesignTimeHtml函式,此函式會呼叫GetDesignTimeHtml函式來更新控件的樣式,在Designer未處理完所有控件前,控件外觀不會有任何改變。
ShouldCodeSerialize:是否需要產生程式碼。
Verbs:ControlDesigner物件提供的選單項目,顯示於右鍵的清單中。
ReadOnly:是否唯讀,這會影響控件是否允許子控件的加入。
4.其它
Initialize:初始化ControlDesigner物件。
IsPropertyBound:某屬性是否已做了資料緊結(Data Bound)。
GetPersistInnerHtml:當控件被放置於Designer上時呼叫,此函式必須負責將控件轉化為ASP.NET Tag寫入.aspx文件之中。