TreeView.ItemHeight Property

Definition

Gets or sets the height of each tree node in the tree view control.

public:
 property int ItemHeight { int get(); void set(int value); };
public int ItemHeight { get; set; }
member this.ItemHeight : int with get, set
Public Property ItemHeight As Integer

Property Value

The height, in pixels, of each tree node in the tree view.

Exceptions

The assigned value is less than one.

-or-

The assigned value is greater than the Int16.MaxValue value.

Examples

The following code example changes the size NodeFont to the specified size and adjusts the ItemHeight of the tree node's parent TreeView control. This example requires that you have a Form with a TreeView control with a collection of TreeNode objects, and a ComboBox that contains font sizes.

private:
   void Button1_Click( Object^ /*sender*/, EventArgs^ /*e*/ )
   {
      myTreeView->ItemHeight = 5;
      myTreeView->SelectedNode->NodeFont = gcnew System::Drawing::Font( "Arial",5 );
      
      // Get the font size from combobox.
      String^ selectedString = myComboBox->SelectedItem->ToString();
      int myNodeFontSize = Int32::Parse( selectedString );
      
      // Set the font of root node.
      myTreeView->SelectedNode->NodeFont = gcnew System::Drawing::Font( "Arial",(float)myNodeFontSize );
      for ( int i = 0; i < myTreeView->Nodes[ 0 ]->Nodes->Count; i++ )
      {
         
         // Set the font of child nodes.
         myTreeView->Nodes[ 0 ]->Nodes[ i ]->NodeFont = gcnew System::Drawing::Font( "Arial",(float)myNodeFontSize );

      }
      
      // Get the bounds of the tree node.
      Rectangle myRectangle = myTreeView->SelectedNode->Bounds;
      int myNodeHeight = myRectangle.Height;
      if ( myNodeHeight < myNodeFontSize )
      {
         myNodeHeight = myNodeFontSize;
      }

      myTreeView->ItemHeight = myNodeHeight + 4;
   }
private void Button1_Click(object sender,EventArgs e)
{
   myTreeView.ItemHeight = 5;
   myTreeView.SelectedNode.NodeFont = new Font("Arial",5);

   // Get the font size from combobox.
   string selectedString = myComboBox.SelectedItem.ToString();
   int myNodeFontSize = Int32.Parse(selectedString);

   // Set the font of root node.
   myTreeView.SelectedNode.NodeFont = new Font("Arial",myNodeFontSize);
   for(int i = 0; i < myTreeView.Nodes[0].Nodes.Count; i++)
   {
      // Set the font of child nodes.
      myTreeView.Nodes[0].Nodes[i].NodeFont =
        new Font("Arial",myNodeFontSize);
   }

   // Get the bounds of the tree node.
   Rectangle myRectangle = myTreeView.SelectedNode.Bounds;
   int myNodeHeight = myRectangle.Height;
   if(myNodeHeight < myNodeFontSize)
   {
      myNodeHeight = myNodeFontSize;
   }
   myTreeView.ItemHeight = myNodeHeight + 4;
}
Private Sub Button1_Click(sender As Object, e As EventArgs)
   myTreeView.ItemHeight = 5
   myTreeView.SelectedNode.NodeFont = New Font("Arial", 5)

   ' Get the font size from combobox.
   Dim selectedString As String = myComboBox.SelectedItem.ToString()
   Dim myNodeFontSize As Integer = Int32.Parse(selectedString)

   ' Set the font of root node.
   myTreeView.SelectedNode.NodeFont = New Font("Arial", myNodeFontSize)
   Dim i As Integer
   For  i = 0 To (myTreeView.Nodes(0).Nodes.Count) - 1
      ' Set the font of child nodes.
      myTreeView.Nodes(0).Nodes(i).NodeFont = New Font("Arial", _
        myNodeFontSize)
   Next i

   ' Get the bounds of the tree node.
   Dim myRectangle As Rectangle = myTreeView.SelectedNode.Bounds
   Dim myNodeHeight As Integer = myRectangle.Height
   If myNodeHeight < myNodeFontSize Then
      myNodeHeight = myNodeFontSize
   End If
   myTreeView.ItemHeight = myNodeHeight + 4
End Sub

Remarks

If the item height is set to a value larger than the height of the tree view control, calling the TreeNode.EnsureVisible method will have unexpected results.

Applies to

See also