Version

NavigationPaneExpansionThreshold Property

Returns/sets the width at which the expanded state of the Outlook Navigation Pane is changed. Applicable only when the control's Style property is set to 'OutlookNavigationPane'.
Syntax
'Declaration
 
Public Property NavigationPaneExpansionThreshold As Integer
public int NavigationPaneExpansionThreshold {get; set;}
Remarks

The NavigationPaneExpansionThreshold property defines the value to which the control's width must be set to trigger a change in the navigation pane's expanded state, expressed in pixels. For example, if the property's value is set to 50, and the control's width is changed (either programmatically or by the end user) to less than 50, the value of the NavigationPaneExpandedState changes to 'Collapsed'.

Note: The NavigationPaneExpansionThreshold property is only applicable when the control's Style property is set to 'OutlookNavigationPane'.

Note: In the absence of a specific setting, the NavigationPaneExpansionThreshold property resolves to a "best fit" value; the NavigationPaneExpansionThresholdResolved property returns this value.

Example
The following code sample demonstrates how to use the NavigationPaneExpanding and NavigationPaneCollapsing events to handle the expanding and collapsing of the ExplorerBar when it is docked inside a Panel control:

For an overview of how to handle events in Visual Basic or Visual C#, see Event Handlers in Visual Basic and Visual C#. For specific information and code examples illustrating how to consume events in your application, see Consuming Events in the .NET Framework Developer's Guide.

Imports Infragistics.Win
Imports Infragistics.Win.UltraWinExplorerBar

    '   Handles the Form's 'Load' event
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        '   Add the ExplorerBar to the Panel's Controls collection
        Me.panel1.Controls.AddRange(New System.Windows.Forms.Control() {Me.ultraExplorerBar1})

        '   Dock the Panel control to the left side of the form
        Me.panel1.Dock = System.Windows.Forms.DockStyle.Left

        '   Dock the ExplorerBar to completely fill the Panel control
        Me.ultraExplorerBar1.Dock = System.Windows.Forms.DockStyle.Fill

        '   Set the NavigationPaneExpansionMode property to 'OnButtonClickOrSizeChanged'
        '   so that the navigation pane's expanded state is changed on both button clicks
        '   and control resizing.
        Me.ultraExplorerBar1.NavigationPaneExpansionMode = NavigationPaneExpansionMode.OnButtonClickOrSizeChanged

        '   Set the NavigationPaneExpansionThreshold property so that resizing the
        '   width smaller than 50 pixels causes the navigation pane to collapse.
        Me.ultraExplorerBar1.NavigationPaneExpansionThreshold = 50

        '	Hook the NavigationPaneExpanding and NavigationPaneCollapsing events
        AddHandler Me.ultraExplorerBar1.NavigationPaneExpanding, AddressOf Me.ultraExplorerBar1_NavigationPaneExpanding
        AddHandler Me.ultraExplorerBar1.NavigationPaneCollapsing, AddressOf Me.ultraExplorerBar1_NavigationPaneCollapsing

        '	Set the NavigationPaneExpandedState to 'Collapsed' so that the ExplorerBar is initially collapsed
        Me.ultraExplorerBar1.NavigationPaneExpandedState = NavigationPaneExpandedState.Collapsed
    End Sub

    '	Handles the ExplorerBar's 'NavigationPaneCollapsing' event.
    Private Sub ultraExplorerBar1_NavigationPaneCollapsing(ByVal sender As Object, ByVal e As NavigationPaneCollapsingEventArgs)
        Dim explorerBar As UltraExplorerBar = sender
        Me.OnNavigationPaneExpandedStateChanging(explorerBar, e)
    End Sub

    '	Handles the ExplorerBar's 'NavigationPaneExpanding' event.
    Private Sub ultraExplorerBar1_NavigationPaneExpanding(ByVal sender As Object, ByVal e As NavigationPaneExpandingEventArgs)
        Dim explorerBar As UltraExplorerBar = sender
        Me.OnNavigationPaneExpandedStateChanging(explorerBar, e)
    End Sub

    '	Helper method which handles synchronization of the width of
    '	the ExplorerBar's parent with that of the ExplorerBar.
    Private Sub OnNavigationPaneExpandedStateChanging(ByVal explorerBar As UltraExplorerBar, ByVal e As NavigationPaneExpandedStateChangingEventArgsBase)

        '	If the ExplorerBar's Dock property is set to 'Fill',
        '	synchronize the width of the container with that of
        '	the ExplorerBar.
        If explorerBar.Dock = DockStyle.Fill Then

            Dim parentControl As Control = explorerBar.Parent
            If Not parentControl Is Nothing Then parentControl.Width = e.PreferredWidth
        End If

    End Sub
using Infragistics.Win;
using Infragistics.Win.UltraWinExplorerBar;
using System.Diagnostics;

		//	Handles the Form's 'Load' event.
		private void Form1_Load(object sender, System.EventArgs e)
		{
			//	Add the ExplorerBar to the Panel's Controls collection
			this.panel1.Controls.AddRange(new System.Windows.Forms.Control[] { this.ultraExplorerBar1 } );

			//	Dock the Panel control to the left side of the form
			this.panel1.Dock = System.Windows.Forms.DockStyle.Left;

			//   Set the NavigationPaneExpansionMode property to 'OnButtonClickOrSizeChanged'
			//   so that the navigation pane's expanded state is changed on both button clicks
			//   and control resizing.
			this.ultraExplorerBar1.NavigationPaneExpansionMode = NavigationPaneExpansionMode.OnButtonClickOrSizeChanged;

			//   Set the NavigationPaneExpansionThreshold property so that resizing the
			//   width smaller than 50 pixels causes the navigation pane to collapse.
			this.ultraExplorerBar1.NavigationPaneExpansionThreshold = 50;

			//	Hook the NavigationPaneExpanding and NavigationPaneCollapsing events
			this.ultraExplorerBar1.NavigationPaneExpanding += new Infragistics.Win.UltraWinExplorerBar.NavigationPaneExpandingEventHandler(this.ultraExplorerBar1_NavigationPaneExpanding);
			this.ultraExplorerBar1.NavigationPaneCollapsing += new Infragistics.Win.UltraWinExplorerBar.NavigationPaneCollapsingEventHandler(this.ultraExplorerBar1_NavigationPaneCollapsing);		

			//	Set the NavigationPaneExpandedState to 'Collapsed' so that the ExplorerBar is initially collapsed
			this.ultraExplorerBar1.NavigationPaneExpandedState = NavigationPaneExpandedState.Collapsed;
		}

		//	Handles the ExplorerBar's 'NavigationPaneCollapsing' event.
		private void ultraExplorerBar1_NavigationPaneCollapsing(object sender, Infragistics.Win.UltraWinExplorerBar.NavigationPaneCollapsingEventArgs e)
		{
			UltraExplorerBar explorerBar = sender as UltraExplorerBar;
			this.OnNavigationPaneExpandedStateChanging( explorerBar, e );
		}

		//	Handles the ExplorerBar's 'NavigationPaneExpanding' event.
		private void ultraExplorerBar1_NavigationPaneExpanding(object sender, Infragistics.Win.UltraWinExplorerBar.NavigationPaneExpandingEventArgs e)
		{
			UltraExplorerBar explorerBar = sender as UltraExplorerBar;
			this.OnNavigationPaneExpandedStateChanging( explorerBar, e );		
		}

		//	Helper method which handles synchronization of the width of
		//	the ExplorerBar's parent with that of the ExplorerBar.
		private void OnNavigationPaneExpandedStateChanging( UltraExplorerBar explorerBar, NavigationPaneExpandedStateChangingEventArgsBase e )
		{
			//	If the ExplorerBar's Dock property is set to 'Fill',
			//	synchronize the width of the container with that of
			//	the ExplorerBar.
			if ( explorerBar.Dock == DockStyle.Fill )
			{
				Control parentControl = explorerBar.Parent;
				if ( parentControl != null )
					parentControl.Width = e.PreferredWidth;
			}
		}
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