首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 發現之旅:高效能 ASP.NET TreeView 控制項 (上) — 控制項類別結構、TagPrefix 與設計器支援

     編輯:關於C語言

組件層級 TagPrefix 指示詞


[assembly: TagPrefix("CS_Discovery", "SkyWebControl")]
  • 註冊命名空間 CS_Discovery 下所有 Web 控制項,ASPX 預設標籤前綴為 SkyWebControl。
  • 使用者拖曳工具箱控制項時,自動產生 <SkyWebControl:TreeView ...>。

三大輔助類別

核心控制項屬性裝飾


[ControlBuilder(typeof(SkyTreeViewControlBuilder))]
[Designer(typeof(SkyTreeViewControlDesigner))]
[ToolboxBitmap(typeof(SkyTreeViewControl))] // 工具箱圖示
public class SkyTreeViewControl : WebControl { ... }

Nodes 屬性實作


private SkyTreeNodeList myNodes = new SkyTreeNodeList();
[Browsable(false)]
public SkyTreeNodeList Nodes {
    get { return myNodes; }
    set { myNodes = value; }
}
  • 內部欄位初始化為空集合,避免 NullReference。
  • Browsable(false) 防止設計器嘗試序列化複雜物件圖。

設計器支援關鍵點

  1. ControlBuilder 處理巢狀標籤 (如 <Nodes><Node .../></Nodes>)。
  2. ControlDesigner 提供設計時預覽、智慧標籤動作 (如「展開所有節點」)。
  3. ToolboxBitmap 指定 16x16 圖示,嵌入資源或同目錄圖檔。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
類別繼承自用途
SkyTreeViewControlBuilderControlBuilder設計器剖析標籤內容、子控制項處理
SkyTreeViewControlDesignerControlDesigner設計器介面、智慧標籤、預覽渲染
SkyTreeViewControlWebControl核心控制項邏輯