This documentation is archived and is not being maintained.

TreeNode.ShowCheckBox Property

Gets or sets a value that indicates whether a check box is displayed next to the node.

Namespace:  System.Web.UI.WebControls
Assembly:  System.Web (in System.Web.dll)

public Nullable<bool> ShowCheckBox { get; set; }

Property Value

Type: System.Nullable<Boolean>
true to display the check box; otherwise, false.

The TreeView control allows you to display a check box next to a node's image. Use the ShowCheckBox property to show or hide the check box for the current node.

Although the ShowCheckBox property can be used to display check boxes, it is more common to use the TreeView.ShowCheckBoxes property of the TreeView control. The TreeView.ShowCheckBoxes property, however, affects every node type specified by the property; therefore, the TreeNode.ShowCheckBox property is often used to override that setting for an individual node.

Since the TreeView.ShowCheckBoxes property is a tri-state property, the following C# code snippet causes a compile error:

protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
if (TreeView1.Nodes[0].Expanded)
// some work here 

While VB.Net implicitly casts the Boolean value to a NullableBoolean, C# does not. Therefore, it is a best practice to explicitly check the state of the property. For example, the following code examples in Visual Basic and C# explicitly test the value of the Expanded property.

The following Visual Basic code example explicitly tests the value of the Expanded property. This example tests if the Expanded property is set to True; therefore Nothing and False fall through the If statement.

If TreeView1.Nodes(0).Expanded = True Then 'some work hereEnd IF

This C# code example explicitly tests the value of the Expanded property. This example tests if the Expanded property is set to True; therefore Null and False fall through the If statement.

if( TreeView1.Nodes[0].Expanded == true ) { //some work here}

The value of this property is stored in view state.

The following code example demonstrates how to use the ShowCheckBox property to programmatically show and hide the check box for a node in the TreeView control. For this example to work correctly, you must copy the sample XML data below to a file named Book.xml.

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

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
<script runat="server">

  void Data_Bound(Object sender, TreeNodeEventArgs e)

    // Determine the depth of a node as it is bound to data.
    // If the depth is 1, show a check box.
    if(e.Node.Depth == 1)

      e.Node.ShowCheckBox = true;


      e.Node.ShowCheckBox = false;




<html xmlns="" >
  <head runat="server">
    <title>TreeNode ShowCheckBox Example</title>
    <form id="form1" runat="server">

      <h3>TreeNode ShowCheckBox Example</h3>

      <asp:TreeView id="BookTreeView" 

          <asp:TreeNodeBinding DataMember="Book" TextField="Title"/>
          <asp:TreeNodeBinding DataMember="Chapter" TextField="Heading"/>
          <asp:TreeNodeBinding DataMember="Section" TextField="Heading"/>


      <asp:XmlDataSource id="BookXmlDataSource"  


The following code is sample XML data for the previous example.

<Book Title="Book Title">
    <Chapter Heading="Chapter 1">
        <Section Heading="Section 1">
        <Section Heading="Section 2">
    <Chapter Heading="Chapter 2">
        <Section Heading="Section 1">

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.