Version

ExpansionIndicatorSize Property

Gets / sets the size of the expansion indicators.
Syntax
'Declaration
 
Public Property ExpansionIndicatorSize As Size
public Size ExpansionIndicatorSize {get; set;}
Remarks

ExpansionIndicatorSize, ExpansionIndicatorPadding, and Indent are closely related and the behavior of these three properties depends on the DisplayStyle.

When DisplayStlye is Standard, the actual indentation of the nodes in the tree will be the Indent property, unless the Indent is too small. If the Indent property value is too small to fit the ExpansionIndicatorSize and it's padding, then it will be enlarged to fit.

When DisplayStlye is WindowsVista, the Indent property is ignored, and the indentation is automatically calculated to fit the ExpansionIndicatorSize and ExpansionIndicatorPadding.

Note: When using Themes, the expansion indicators are drawn using the Windows Theme API. Themed expansion indicators have a maximum size of 9x9 and must be square (not rectangular). Specifying a larger size will leave extra padding around the expansion indicator, but the drawn image will not get any bigger.

Example
Imports Infragistics.Win.UltraWinTree


        ' Define the width and height of the expansion indicators. All of the images need to
        ' be the same size. 
        Const expansionIndicatorImageWidth As Integer = 15
        Const expansionIndicatorImageHeight As Integer = 15

        ' Set the ExpansionIndicatorSize on the tree.
        Me.ultraTree1.ExpansionIndicatorSize = New Size(expansionIndicatorImageWidth, expansionIndicatorImageHeight)

        ' Set the ExpansionIndicatorPadding.
        Me.ultraTree1.ExpansionIndicatorPadding = 3

        ' Tell the tree to hide the expansion indicators whenever the mouse is not over it. 
        Me.ultraTree1.HideExpansionIndicators = HideExpansionIndicators.OnMouseLeave

        ' Create a rect one pixel smaller than the size of the indicators. We will use this to 
        ' draw the ellipses in the indicator images so they don't get clipped. 
        Dim expansionIndicatorImageRect As Rectangle = New Rectangle(0, 0, expansionIndicatorImageWidth - 1, expansionIndicatorImageHeight - 1)

        ' Create a new bitmap for each state of the expansion indicators. 
        Dim expansionIndicatorImageCollapsed As Bitmap = New Bitmap(expansionIndicatorImageWidth, expansionIndicatorImageHeight)
        Dim expansionIndicatorImageExpanded As Bitmap = New Bitmap(expansionIndicatorImageWidth, expansionIndicatorImageHeight)
        Dim expansionIndicatorImageCollapsedHotTracked As Bitmap = New Bitmap(expansionIndicatorImageWidth, expansionIndicatorImageHeight)
        Dim expansionIndicatorImageExpandedHotTracked As Bitmap = New Bitmap(expansionIndicatorImageWidth, expansionIndicatorImageHeight)

        ' Draw the collapsed expansion indicator image.
        ' A red circle. 
        Dim g As Graphics = Nothing
        Try
            g = Graphics.FromImage(expansionIndicatorImageCollapsed)
            g.Clear(Color.Transparent)
            g.FillEllipse(Brushes.Red, expansionIndicatorImageRect)
        Finally
            If Not g Is Nothing Then
                g.Dispose()
            End If
        End Try

        ' Draw the expanded expansion indicator image.
        ' A green circle. 
        Try
            g = Graphics.FromImage(expansionIndicatorImageExpanded)
            g.Clear(Color.Transparent)
            g.FillEllipse(Brushes.Green, expansionIndicatorImageRect)
        Finally
            If Not g Is Nothing Then
                g.Dispose()
            End If
        End Try

        ' Draw the collapsed expansion indicator image.
        ' A red circle with a black border around it.
        Try
            g = Graphics.FromImage(expansionIndicatorImageCollapsedHotTracked)
            g.Clear(Color.Transparent)
            g.FillEllipse(Brushes.Red, expansionIndicatorImageRect)
            g.DrawEllipse(Pens.Black, expansionIndicatorImageRect)
        Finally
            If Not g Is Nothing Then
                g.Dispose()
            End If
        End Try

        ' Draw the collapsed expansion indicator image.
        ' A green circle with a black border around it. 
        Try
            g = Graphics.FromImage(expansionIndicatorImageExpandedHotTracked)
            g.Clear(Color.Transparent)
            g.FillEllipse(Brushes.Green, expansionIndicatorImageRect)
            g.DrawEllipse(Pens.Black, expansionIndicatorImageRect)
        Finally
            If Not g Is Nothing Then
                g.Dispose()
            End If
        End Try

        ' Assign the images to the tree. 
        Me.ultraTree1.ExpansionIndicatorImageCollapsed = expansionIndicatorImageCollapsed
        Me.ultraTree1.ExpansionIndicatorImageExpanded = expansionIndicatorImageExpanded
        Me.ultraTree1.ExpansionIndicatorImageCollapsedHotTracked = expansionIndicatorImageCollapsedHotTracked
        Me.ultraTree1.ExpansionIndicatorImageExpandedHotTracked = expansionIndicatorImageExpandedHotTracked
using Infragistics.Win.UltraWinTree;

            // Define the width and height of the expansion indicators. All of the images need to
            // be the same size. 
            const int expansionIndicatorImageWidth = 15;
            const int expansionIndicatorImageHeight = 15;

            // Set the ExpansionIndicatorSize on the tree.
            this.ultraTree1.ExpansionIndicatorSize = new Size(expansionIndicatorImageWidth, expansionIndicatorImageHeight);

            // Set the ExpansionIndicatorPadding.
            this.ultraTree1.ExpansionIndicatorPadding = 3;

            // Tell the tree to hide the expansion indicators whenever the mouse is not over it. 
            this.ultraTree1.HideExpansionIndicators = HideExpansionIndicators.OnMouseLeave;

            // Create a rect one pixel smaller than the size of the indicators. We will use this to 
            // draw the ellipses in the indicator images so they don't get clipped. 
            Rectangle expansionIndicatorImageRect = new Rectangle(0, 0, expansionIndicatorImageWidth-1, expansionIndicatorImageHeight-1);

            // Create a new bitmap for each state of the expansion indicators. 
            Bitmap expansionIndicatorImageCollapsed = new Bitmap(expansionIndicatorImageWidth, expansionIndicatorImageHeight);
            Bitmap expansionIndicatorImageExpanded = new Bitmap(expansionIndicatorImageWidth, expansionIndicatorImageHeight);
            Bitmap expansionIndicatorImageCollapsedHotTracked = new Bitmap(expansionIndicatorImageWidth, expansionIndicatorImageHeight);
            Bitmap expansionIndicatorImageExpandedHotTracked = new Bitmap(expansionIndicatorImageWidth, expansionIndicatorImageHeight);
            
            // Draw the collapsed expansion indicator image.
            // A red circle. 
            using(Graphics g = Graphics.FromImage(expansionIndicatorImageCollapsed))
            {
                g.Clear(Color.Transparent);
                g.FillEllipse(Brushes.Red, expansionIndicatorImageRect);
            }

            // Draw the expanded expansion indicator image.
            // A green circle. 
            using (Graphics g = Graphics.FromImage(expansionIndicatorImageExpanded))
            {
                g.Clear(Color.Transparent);
                g.FillEllipse(Brushes.Green, expansionIndicatorImageRect);
            }

            // Draw the collapsed expansion indicator image.
            // A red circle with a black border around it. 
            using (Graphics g = Graphics.FromImage(expansionIndicatorImageCollapsedHotTracked))
            {
                g.Clear(Color.Transparent);
                g.FillEllipse(Brushes.Red, expansionIndicatorImageRect);
                g.DrawEllipse(Pens.Black, expansionIndicatorImageRect);
            }

            // Draw the collapsed expansion indicator image.
            // A green circle with a black border around it. 
            using (Graphics g = Graphics.FromImage(expansionIndicatorImageExpandedHotTracked))
            {
                g.Clear(Color.Transparent);
                g.FillEllipse(Brushes.Green, expansionIndicatorImageRect);
                g.DrawEllipse(Pens.Black, expansionIndicatorImageRect);
            }

            // Assign the images to the tree. 
            this.ultraTree1.ExpansionIndicatorImageCollapsed = expansionIndicatorImageCollapsed;
            this.ultraTree1.ExpansionIndicatorImageExpanded = expansionIndicatorImageExpanded;
            this.ultraTree1.ExpansionIndicatorImageCollapsedHotTracked = expansionIndicatorImageCollapsedHotTracked;
            this.ultraTree1.ExpansionIndicatorImageExpandedHotTracked = expansionIndicatorImageExpandedHotTracked;
Requirements

Target Platforms: Windows 10, Windows 8.1, Windows 8, Windows 7, Windows Server 2012, Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also