程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#發現之旅-高性能ASP.NET樹狀列表控件(上)(9)

C#發現之旅-高性能ASP.NET樹狀列表控件(上)(9)

編輯:關於C語言
類型比較簡單,它是從類型“System.Collections.CollectionBase”上派生的針對SkyTreeNode類型的強類型的列表,它使用代碼“[System.Serializable()]”表明可以進行二進制序列化,它提供了一些屬性和方法用於維護列表中的樹狀節點元素。

SkyTreeVIEwControl.cs

樹狀列表控件所有的C#代碼就放置在這個文件中。打開這個文件,首先我們看到一條指令

// 此時對程序集使用TagPrefix特性,表示CS_Discovery名稱控件下的WEB控件
// 在ASPX的HTML代碼中默認使用SkyWebControl作為其Html標簽的前綴
[assembly:System.Web.UI.TagPrefix("CS_Discovery" , "SkyWebControl")]

這條指令前面有“assembly:”的前綴,表示這是一個針對程序集的指令,它具有兩個參數,第一個參數為某個名稱控件,第二個參數指定該名稱空間下的所有的Web控件在ASPX的Html源代碼中的標簽前綴,這裡為“SkyWebControl”。

這個文件中定義了3個類型。

SkyTreeVIEwControlBuilder

這個類型是從System.Web.UI.ControlBuilder上派生的。本類型用於對VS.Net的WEB窗體設計器提供支持。

SkyTreeVIEwControlDesigner

這個類型是從System.Web.UI.Design.ControlDesigner 上派生的,用於對VS.Net的WEB窗體設計器提供支持。

SkyTreeVIEwControl

這個類型就是樹狀列表WEB控件了。首先看到它的定義頭。

[System.Web.UI.ControlBuilder( typeof( SkyTreeVIEwControlBuilder ))]
[System.ComponentModel.Designer( typeof( SkyTreeVIEwControlDesigner ))]
[System.Drawing.ToolboxBitmap( typeof( SkyTreeVIEwControl ))]
public class SkyTreeVIEwControl : System.Web.UI.WebControls.WebControl

這個類型是從System.Web.UI.WebControls.WebControl上派生的。它還附加了3個特性,其中 ControlBuilder特性用於指明控件配套的控件創建者類型為SkyTreeViewControlBuilder,Designer特性用於指明控件配套的設計器類型為SkyTreeVIEwControlDesigner,而特性ToolboxBitmap用於指明控件類型在VS.Net的窗體設計器的工具箱中使用什麼樣的圖標。這裡指明使用圖標“”。

本控件定義了Nodes屬性,其代碼為

private SkyTreeNodeList myNodes = new SkyTreeNodeList();
/// <summary>
/// 子節點列表
/// </summary>
[System.ComponentModel.Browsable( false )]
public SkyTreeNodeList Nodes
{
    get
    {
        return myNodes ;
    }
    set
    {
        myNodes = value;
    }
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved