TreeView::Indent Property

 

Gets or sets the distance to indent each child tree node level.

Namespace:   System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

public:
property int Indent {
	int get();
	void set(int value);
}

Property Value

Type: System::Int32

The distance, in pixels, to indent each child tree node level. The default value is 19.

Exception Condition
ArgumentOutOfRangeException

The assigned value is less than 0 (see Remarks).

-or-

The assigned value is greater than 32,000.

Setting this property to a value of -1 does not throw an exception if the value has not yet been changed from its default. This is because the control uses a value of -1 as an internal default before the control handle has been created. This internal default value causes the wrapped control to return its own default value of 19.

The following code example illustrates a customized TreeView. By inheriting the TreeView class, this custom version has all the functionality of a typical TreeView. Changing various property values in the constructor provides a unique appearance. Because the ShowPlusMinus property is set to false, the customized control also overrides the OnAfterSelect method so that nodes can be expanded and collapsed when they are clicked.

A control that is customized in this way can be used throughout an organization, making it easy to provide a consistent interface without requiring the control properties to be specified in each individual project.

public ref class CustomizedTreeView: public TreeView
{
public:
   CustomizedTreeView()
   {

      // Customize the TreeView control by setting various properties.
      BackColor = System::Drawing::Color::CadetBlue;
      FullRowSelect = true;
      HotTracking = true;
      Indent = 34;
      ShowPlusMinus = false;

      // The ShowLines property must be false for the FullRowSelect
      // property to work.
      ShowLines = false;
   }

protected:
   virtual void OnAfterSelect( TreeViewEventArgs^ e ) override
   {
      // Confirm that the user initiated the selection.
      // This prevents the first node from expanding when it is
      // automatically selected during the initialization of
      // the TreeView control.
      if ( e->Action != TreeViewAction::Unknown )
      {
         if ( e->Node->IsExpanded )
         {
            e->Node->Collapse();
         }
         else
         {
            e->Node->Expand();
         }
      }


      // Remove the selection. This allows the same node to be
      // clicked twice in succession to toggle the expansion state.
      SelectedNode = nullptr;
   }
};

.NET Framework
Available since 1.1
Return to top
Show: