'宣言 Public Event NavigationPaneCollapsing As NavigationPaneCollapsingEventHandler
public event NavigationPaneCollapsingEventHandler NavigationPaneCollapsing
イベント ハンドラが、このイベントに関連するデータを含む、NavigationPaneCollapsingEventArgs 型の引数を受け取りました。次の NavigationPaneCollapsingEventArgs プロパティには、このイベントの固有の情報が記載されます。
プロパティ | 解説 |
---|---|
Cancel System.ComponentModel.CancelEventArgsから継承されます。 | |
PreferredWidth Infragistics.Win.UltraWinExplorerBar.NavigationPaneExpandedStateChangingEventArgsBaseから継承されます。 | ナビゲーション ペンが縮小または展開された時の UltraExplorerBar コントロールの幅を取得または設定します。 |
注: ExplorerBar の System.Windows.Forms.Control.Dock プロパティが 'None' 以外の値に設定されると、縮小可能なナビゲーション ペインの機能は適切に機能しません。これは、この機能がコントロールの System.Windows.Forms.Control.Width プロパティを設定することに依存しているためですが、これは Dock プロパティのすべての値でサポートされるとは限りません。ただし、この制限はパブリックのオブジェクト モデルを使用して解決できます。末端の開発者は、 NavigationPaneExpanding イベントと NavigationPaneCollapsing イベントを処理して、ExplorerBar の System.Windows.Forms.Control.Parent の幅を、イベント引数の NavigationPaneExpandedStateChangingEventArgsBase.PreferredWidth プロパティの値と同じ値に設定できます。
末端の開発者は、NavigationPaneCollapsing イベントをキャンセルする(イベント引数の Cancel プロパティを 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; } }