'宣言 Public Property NavigationPaneExpansionMode As NavigationPaneExpansionMode
public NavigationPaneExpansionMode NavigationPaneExpansionMode {get; set;}
注: ExplorerBar の System.Windows.Forms.Control.Dock プロパティが 'None' 以外の値に設定されると、縮小可能なナビゲーション ペインの機能は適切に機能しません。これは、この機能がコントロールの System.Windows.Forms.Control.Width プロパティを設定することに依存しているためですが、これは Dock プロパティのすべての値でサポートされるとは限りません。ただし、この制限はパブリックのオブジェクト モデルを使用して解決できます。末端の開発者は、NavigationPaneExpanding イベントと NavigationPaneCollapsing イベントを処理して、ExplorerBar の System.Windows.Forms.Control.Parent の幅を、イベント引数の NavigationPaneExpandedStateChangingEventArgsBase.PreferredWidth プロパティの値と同じ値に設定できます。
NavigationPaneExpansionMode は、NavigationPaneExpansionButtonUIElement が表示されるかどうかを決定し、ナビゲーション ペインの展開された状態が変更される環境も定義します。NavigationPaneExpansionMode プロパティのデータ型(NavigationPaneExpansionMode を参照)は、[Flags] 属性でマークされます。このようなプロパティは、ビット値の組み合わせに設定できます。NavigationPaneExpansionMode プロパティの値に 'OnButtonClick' ビットが含まれる時に、展開ボタンが表示され、エンドユーザーによってクリックされると展開状態が変わります。NavigationPaneExpansionMode プロパティの値に 'OnSizeChanged' ビットが含まれる場合、NavigationPaneExpansionThreshold プロパティによって定義されたしきい値をコントロールの幅が渡るときに展開状態が変わります。プロパティを 'OnButtonClickOrSizeChanged' に設定することもできます。この場合、展開された場外は、前述の両シナリオで変更されます。
注: NavigationPaneExpansionMode プロパティは、コントロールの Style プロパティが 'OutlookNavigationPane' に設定されている場合のみ適用されます。
注: NavigationPaneExpansionMode が 'None' に設定されると、以前に 'Collapsed' に設定されていた場合、NavigationPaneExpandedState の値は 'Expanded' に戻ります。
注: 論理的な 'OR' 演算子を使用することによって個々のビットそれぞれが設定されるかどうかを決定できます。たとえば、プロパティが 'OnButtonClick' または 'OnButtonClickOrSizeChanged' のいずれかに設定されると、"NavigationPaneExpansionMode | NavigationPaneExpansionMode.OnButtonClick" (Visual Basic の場合は "NavigationPaneExpansionMode Or NavigationPaneExpansionMode.OnButtonClick")という表現は、True を返します。
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; } }