TreeNodeStyle 类

定义

表示 TreeView 控件中节点的样式。

public ref class TreeNodeStyle sealed : System::Web::UI::WebControls::Style
public sealed class TreeNodeStyle : System.Web.UI.WebControls.Style
type TreeNodeStyle = class
    inherit Style
Public NotInheritable Class TreeNodeStyle
Inherits Style
继承

示例

下面的代码示例演示如何通过设置从ParentNodeStyle属性返回的对象的样式属性TreeNodeStyle来控制控件中TreeView父节点的外观。


<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

  void HorizontalPadding_Changed(Object sender, EventArgs e)
  {

    // Programmatically set the HorizontalPadding property based on the 
    // user's selection.
    ItemsTreeView.ParentNodeStyle.HorizontalPadding = Convert.ToInt32(HorizontalPaddingList.SelectedItem.Text);

  }

  void VerticalPadding_Changed(Object sender, EventArgs e)
  {

    // Programmatically set the VerticalPadding property based on the 
    // user's selection.
    ItemsTreeView.ParentNodeStyle.VerticalPadding = Convert.ToInt32(VerticalPaddingList.SelectedItem.Text);

  }

  void NodeSpacing_Changed(Object sender, EventArgs e)
  {

    // Programmatically set the NodeSpacing property based on the 
    // user's selection.
    ItemsTreeView.ParentNodeStyle.NodeSpacing = Convert.ToInt32(NodeSpacingList.SelectedItem.Text);

  }

  void ChildNodePadding_Changed(Object sender, EventArgs e)
  {

    // Programmatically set the ChildNodesPadding property based on the 
    // user's selection.
    ItemsTreeView.ParentNodeStyle.ChildNodesPadding = Convert.ToInt32(ChildNodesPaddingList.SelectedItem.Text);

  }

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>TreeNodeStyle Example</title>
</head>
<body>  
    <form id="form1" runat="server">
    
      <h3>TreeNodeStyle Example</h3>
      
      <!-- Set the styles for the leaf nodes declaratively. -->
      <asp:TreeView id="ItemsTreeView"
        Font-Names= "Arial"
        ForeColor="Blue"
        ParentNodeStyle-ForeColor="Green"
        ParentNodeStyle-HorizontalPadding="5" 
        ParentNodeStyle-VerticalPadding="5"  
        ParentNodeStyle-NodeSpacing="5"
        ParentNodeStyle-ChildNodesPadding="5"
        ExpandDepth="4"  
        runat="server">
         
        <Nodes>
        
          <asp:TreeNode Text="Table of Contents"
            SelectAction="None">
             
            <asp:TreeNode Text="Chapter One">
            
              <asp:TreeNode Text="Section 1.0">
              
                <asp:TreeNode Text="Topic 1.0.1"/>
                <asp:TreeNode Text="Topic 1.0.2"/>
                <asp:TreeNode Text="Topic 1.0.3"/>
              
              </asp:TreeNode>
              
              <asp:TreeNode Text="Section 1.1">
              
                <asp:TreeNode Text="Topic 1.1.1"/>
                <asp:TreeNode Text="Topic 1.1.2"/>
                <asp:TreeNode Text="Topic 1.1.3"/>
                <asp:TreeNode Text="Topic 1.1.4"/>
              
              </asp:TreeNode>
            
            </asp:TreeNode>
            
          </asp:TreeNode>
        
        </Nodes>
        
      </asp:TreeView>
      
      <hr />
      
      <h5>Select the style settings for the parent nodes.</h5>
      
      <table cellpadding="5">
      
        <tr align="right">
        
          <td>
          
            Horizontal Padding:
          
            <asp:DropDownList id="HorizontalPaddingList"
              AutoPostBack="true"
              OnSelectedIndexChanged="HorizontalPadding_Changed" 
              runat="server">
              
              <asp:ListItem>0</asp:ListItem>
              <asp:ListItem Selected="true">5</asp:ListItem>
              <asp:ListItem>10</asp:ListItem>
              
            </asp:DropDownList> 
          
          </td>
          
          <td>
          
            Vertical Padding:
          
            <asp:DropDownList id="VerticalPaddingList"
              AutoPostBack="true"
              OnSelectedIndexChanged="VerticalPadding_Changed" 
              runat="server">
              
              <asp:ListItem>0</asp:ListItem>
              <asp:ListItem Selected="true">5</asp:ListItem>
              <asp:ListItem>10</asp:ListItem>
              
            </asp:DropDownList> 
          
          </td>
          
        </tr>
        
        <tr align="right">
        
          <td>
          
            Node Spacing:
          
            <asp:DropDownList id="NodeSpacingList"
              AutoPostBack="true"
              OnSelectedIndexChanged="NodeSpacing_Changed"   
              runat="server">
              
              <asp:ListItem>0</asp:ListItem>
              <asp:ListItem Selected="true">5</asp:ListItem>
              <asp:ListItem>10</asp:ListItem>
              
            </asp:DropDownList> 
          
          </td>
          
          <td>
          
            Child Nodes Padding:
          
            <asp:DropDownList id="ChildNodesPaddingList"
              AutoPostBack="true"
              OnSelectedIndexChanged="ChildNodePadding_Changed"  
              runat="server">
              
              <asp:ListItem>0</asp:ListItem>
              <asp:ListItem Selected="true">5</asp:ListItem>
              <asp:ListItem>10</asp:ListItem>
              
            </asp:DropDownList> 
          
          </td>
        
        </tr>
      
      </table>
       
    </form>
  </body>
</html>

<%@ Page Language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

  Sub HorizontalPadding_Changed(ByVal sender As Object, ByVal e As EventArgs)

    ' Programmatically set the HorizontalPadding property based on the 
    ' user's selection.
    ItemsTreeView.ParentNodeStyle.HorizontalPadding = Convert.ToInt32(HorizontalPaddingList.SelectedItem.Text)

  End Sub

  Sub VerticalPadding_Changed(ByVal sender As Object, ByVal e As EventArgs)

    ' Programmatically set the VerticalPadding property based on the 
    ' user's selection.
    ItemsTreeView.ParentNodeStyle.VerticalPadding = Convert.ToInt32(VerticalPaddingList.SelectedItem.Text)

  End Sub

  Sub NodeSpacing_Changed(ByVal sender As Object, ByVal e As EventArgs)

    ' Programmatically set the NodeSpacing property based on the 
    ' user's selection.
    ItemsTreeView.ParentNodeStyle.NodeSpacing = Convert.ToInt32(NodeSpacingList.SelectedItem.Text)

  End Sub

  Sub ChildNodePadding_Changed(ByVal sender As Object, ByVal e As EventArgs)

    ' Programmatically set the ChildNodesPadding property based on the 
    ' user's selection.
    ItemsTreeView.ParentNodeStyle.ChildNodesPadding = Convert.ToInt32(ChildNodesPaddingList.SelectedItem.Text)

  End Sub

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>TreeNodeStyle Example</title>
</head>
<body>  
    <form id="form1" runat="server">
    
      <h3>TreeNodeStyle Example</h3>
      
      <!-- Set the styles for the leaf nodes declaratively. -->
      <asp:TreeView id="ItemsTreeView"
        Font-Names= "Arial"
        ForeColor="Blue"
        ParentNodeStyle-ForeColor="Green"
        ParentNodeStyle-HorizontalPadding="5" 
        ParentNodeStyle-VerticalPadding="5"  
        ParentNodeStyle-NodeSpacing="5"
        ParentNodeStyle-ChildNodesPadding="5"
        ExpandDepth="4"  
        runat="server">
         
        <Nodes>
        
          <asp:TreeNode Text="Table of Contents"
            SelectAction="None">
             
            <asp:TreeNode Text="Chapter One">
            
              <asp:TreeNode Text="Section 1.0">
              
                <asp:TreeNode Text="Topic 1.0.1"/>
                <asp:TreeNode Text="Topic 1.0.2"/>
                <asp:TreeNode Text="Topic 1.0.3"/>
              
              </asp:TreeNode>
              
              <asp:TreeNode Text="Section 1.1">
              
                <asp:TreeNode Text="Topic 1.1.1"/>
                <asp:TreeNode Text="Topic 1.1.2"/>
                <asp:TreeNode Text="Topic 1.1.3"/>
                <asp:TreeNode Text="Topic 1.1.4"/>
              
              </asp:TreeNode>
            
            </asp:TreeNode>
            
          </asp:TreeNode>
        
        </Nodes>
        
      </asp:TreeView>
      
      <hr />
      
      <h5>Select the style settings for the parent nodes.</h5>
      
      <table cellpadding="5">
      
        <tr align="right">
        
          <td>
          
            Horizontal Padding:
          
            <asp:DropDownList id="HorizontalPaddingList"
              AutoPostBack="true"
              OnSelectedIndexChanged="HorizontalPadding_Changed" 
              runat="server">
              
              <asp:ListItem>0</asp:ListItem>
              <asp:ListItem Selected="true">5</asp:ListItem>
              <asp:ListItem>10</asp:ListItem>
              
            </asp:DropDownList> 
          
          </td>
          
          <td>
          
            Vertical Padding:
          
            <asp:DropDownList id="VerticalPaddingList"
              AutoPostBack="true"
              OnSelectedIndexChanged="VerticalPadding_Changed" 
              runat="server">
              
              <asp:ListItem>0</asp:ListItem>
              <asp:ListItem Selected="true">5</asp:ListItem>
              <asp:ListItem>10</asp:ListItem>
              
            </asp:DropDownList> 
          
          </td>
          
        </tr>
        
        <tr align="right">
        
          <td>
          
            Node Spacing:
          
            <asp:DropDownList id="NodeSpacingList"
              AutoPostBack="true"
              OnSelectedIndexChanged="NodeSpacing_Changed"   
              runat="server">
              
              <asp:ListItem>0</asp:ListItem>
              <asp:ListItem Selected="true">5</asp:ListItem>
              <asp:ListItem>10</asp:ListItem>
              
            </asp:DropDownList> 
          
          </td>
          
          <td>
          
            Child Nodes Padding:
          
            <asp:DropDownList id="ChildNodesPaddingList"
              AutoPostBack="true"
              OnSelectedIndexChanged="ChildNodePadding_Changed"  
              runat="server">
              
              <asp:ListItem>0</asp:ListItem>
              <asp:ListItem Selected="true">5</asp:ListItem>
              <asp:ListItem>10</asp:ListItem>
              
            </asp:DropDownList> 
          
          </td>
        
        </tr>
      
      </table>
       
    </form>
  </body>
</html>

注解

使用 TreeNodeStyle 类表示控件中 TreeView 节点的样式。 通过控件 TreeView ,可以指定不同的样式特征 (,例如每种不同节点类型的字号和颜色) 。

下表列出了类支持的 TreeNodeStyle 节点样式。

节点样式属性 说明
HoverNodeStyle 当鼠标指针放置在节点上方时,节点的样式设置。
LeafNodeStyle 叶节点的样式设置。
NodeStyle 节点的默认样式设置。
ParentNodeStyle 父节点的样式设置。
RootNodeStyle 根节点的样式设置。
SelectedNodeStyle 所选节点的样式设置。

设置控件的 TreeView 节点样式属性时,按以下顺序应用它们:

  1. NodeStyle.

  2. RootNodeStyleParentNodeStyleLeafNodeStyle,具体取决于节点类型。

  3. LevelStyles.

  4. SelectedNodeStyle.

  5. HoverNodeStyle.

TreeNodeStyle 类从 Style 类继承其大部分成员。 它通过提供属性来扩展 Style 类,这些属性控制节点中文本周围的空间量,以及相邻节点之间的空间。 使用 HorizontalPadding 属性控制节点中文本左侧和右侧的空间量。 同样,该 VerticalPadding 属性控制节点中文本上方和下方的空间量。 可以通过设置NodeSpacing属性来控制应用于的TreeNodeStyle节点与其相邻节点之间的间距量。 若要控制父节点和子节点之间的间距,请使用该 ChildNodesPadding 属性。

有关继承的样式设置的详细信息,请参阅 Style

构造函数

TreeNodeStyle()

初始化 TreeNodeStyle 类的新实例。

TreeNodeStyle(StateBag)

用指定的 TreeNodeStyle 对象信息初始化 StateBag 类的新实例。

属性

BackColor

获取或设置 Web 服务器控件的背景色。

(继承自 Style)
BorderColor

获取或设置 Web 服务器控件的边框颜色。

(继承自 Style)
BorderStyle

获取或设置 Web 服务器控件的边框样式。

(继承自 Style)
BorderWidth

获取或设置 Web 服务器控件的边框宽度。

(继承自 Style)
CanRaiseEvents

获取一个指示组件是否可以引发事件的值。

(继承自 Component)
ChildNodesPadding

获取或设置应用 TreeNodeStyle 类的父节点与子节点之间的间距。

Container

获取包含 IContainerComponent

(继承自 Component)
CssClass

获取或设置由 Web 服务器控件在客户端呈现的级联样式表 (CSS) 类。

(继承自 Style)
DesignMode

获取一个值,用以指示 Component 当前是否处于设计模式。

(继承自 Component)
Events

获取附加到此 Component 的事件处理程序的列表。

(继承自 Component)
Font

获取与 Web 服务器控件关联的字体属性。

(继承自 Style)
ForeColor

获取或设置 Web 服务器控件的前景色(通常是文本颜色)。

(继承自 Style)
Height

获取或设置 Web 服务器控件的高度。

(继承自 Style)
HorizontalPadding

获取或设置节点中文本左边和右边的间距。

ImageUrl

获取或设置节点旁显示的图像的 URL。

IsEmpty

保护属性。 获取一个值,该值指示是否已在状态袋中定义任何样式元素。

(继承自 Style)
IsTrackingViewState

返回一个值,该值指示状态袋中是否有任何已定义的样式元素。

(继承自 Style)
NodeSpacing

获取或设置应用 TreeNodeStyle 对象的节点与相邻节点之间的垂直间距。

RegisteredCssClass

获取已向控件注册的级联样式表 (CSS) 类。

(继承自 Style)
Site

获取或设置 ComponentISite

(继承自 Component)
VerticalPadding

获取或设置节点文本上方和下方的间距。

ViewState

获取保存样式元素的状态袋。

(继承自 Style)
Width

获取或设置 Web 服务器控件的宽度。

(继承自 Style)

方法

AddAttributesToRender(HtmlTextWriter)

将需要呈现的 HTML 特性和样式添加到指定的 HtmlTextWriter 中。 此方法主要由控件开发人员使用。

(继承自 Style)
AddAttributesToRender(HtmlTextWriter, WebControl)

将需要呈现的 HTML 特性和样式添加到指定的 HtmlTextWriter 和 Web 服务器控件。 此方法主要由控件开发人员使用。

(继承自 Style)
CopyFrom(Style)

将指定 Style 对象的样式属性复制到当前 TreeNodeStyle 对象。

CreateObjRef(Type)

创建一个对象,该对象包含生成用于与远程对象进行通信的代理所需的全部相关信息。

(继承自 MarshalByRefObject)
Dispose()

释放由 Component 使用的所有资源。

(继承自 Component)
Dispose(Boolean)

释放由 Component 占用的非托管资源,还可以另外再释放托管资源。

(继承自 Component)
Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
FillStyleAttributes(CssStyleCollection, IUrlResolutionService)

将指定对象的样式属性添加到 CssStyleCollection 对象。

(继承自 Style)
GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetLifetimeService()
已过时。

检索控制此实例的生存期策略的当前生存期服务对象。

(继承自 MarshalByRefObject)
GetService(Type)

返回一个对象,该对象表示由 Component 或它的 Container 提供的服务。

(继承自 Component)
GetStyleAttributes(IUrlResolutionService)

检索实现了 CssStyleCollection 的指定对象的 IUrlResolutionService 对象。

(继承自 Style)
GetType()

获取当前实例的 Type

(继承自 Object)
InitializeLifetimeService()
已过时。

获取生存期服务对象来控制此实例的生存期策略。

(继承自 MarshalByRefObject)
LoadViewState(Object)

加载以前保存的状态。

(继承自 Style)
MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
MemberwiseClone(Boolean)

创建当前 MarshalByRefObject 对象的浅表副本。

(继承自 MarshalByRefObject)
MergeWith(Style)

将指定 Style 对象的样式属性与当前 TreeNodeStyle 对象的样式属性组合在一起。

Reset()

TreeNodeStyle 对象返回到其初始状态。

SaveViewState()

受保护的方法。 保存在调用 TrackViewState() 方法后已修改的任何状态。

(继承自 Style)
SetBit(Int32)

受保护的内部方法。 设置一个内部位屏蔽字段以指示存储在状态袋中的样式属性。

(继承自 Style)
SetDirty()

标记 Style 以便在视图状态中记录其状态。

(继承自 Style)
ToString()

返回表示当前对象的字符串。

(继承自 Style)
TrackViewState()

受保护的方法。 标记跟踪控件状态更改的起始点。 跟踪开始之后所做的任何更改都将被跟踪并保存到控件视图状态中。

(继承自 Style)

事件

Disposed

在通过调用 Dispose() 方法释放组件时发生。

(继承自 Component)

显式接口实现

IStateManager.IsTrackingViewState

获取一个值,该值指示服务器控件是否在跟踪其视图状态更改。

(继承自 Style)
IStateManager.LoadViewState(Object)

加载以前保存的状态。

(继承自 Style)
IStateManager.SaveViewState()

返回包含状态更改的对象。

(继承自 Style)
IStateManager.TrackViewState()

开始跟踪状态更改。

(继承自 Style)

适用于

另请参阅