共用方式為


ActionsPane 介面

表示 Word 或 Excel 文件層級自訂中 [文件動作] 工作窗格的自訂使用者介面。

命名空間:  Microsoft.Office.Tools
組件:  Microsoft.Office.Tools.Common (在 Microsoft.Office.Tools.Common.dll 中)

語法

'宣告
<GuidAttribute("b835a67a-c3c0-45ba-9a3f-c878bf531dd5")> _
Public Interface ActionsPane _
    Inherits IDisposable
[GuidAttribute("b835a67a-c3c0-45ba-9a3f-c878bf531dd5")]
public interface ActionsPane : IDisposable

ActionsPane 型別會公開下列成員。

屬性

  名稱 說明
公用屬性 AccessibilityObject 取得指派給執行窗格的 AccessibleObject
公用屬性 AccessibleDefaultActionDescription 取得或設定執行窗格的預設動作描述。協助工具用戶端應用程式會使用這項描述。
公用屬性 AccessibleDescription 取得或設定執行窗格的可存取描述。協助工具用戶端應用程式會使用這項描述。
公用屬性 AccessibleName 取得或設定執行窗格的可存取名稱。這個名稱是供協助工具用戶端應用程式使用。
公用屬性 AccessibleRole 取得或設定執行窗格的可存取角色。
公用屬性 ActiveControl 取得或設定執行窗格上使用中的控制項。
公用屬性 AllowDrop 取得或設定值,指出執行窗格項是否能接受使用者拖放上來的資料。
公用屬性 Anchor 取得或設定執行窗格繫結至的容器邊緣,並決定使用者控制項隨其父代重新調整大小的方式。
公用屬性 AutoRecover 取得或設定值,表示中斷執行窗格方案的連結時,它是否會自動重新附加至文件。
公用屬性 AutoScaleDimensions 取得或設定設計執行窗格的目標維度 (Dimension)。
公用屬性 AutoScaleMode 取得或設定執行窗格的自動縮放比例模式。
公用屬性 AutoScroll 取得或設定值,這個值表示執行窗格是否可讓使用者捲動至任何放置在可視界限以外的控制項。
公用屬性 AutoScrollMargin 取得或設定執行窗格自動捲動邊界的大小。
公用屬性 AutoScrollMinSize 取得或設定執行窗格自動捲動的最小大小。
公用屬性 AutoScrollOffset 取得或設定執行窗格在呼叫 ScrollControlIntoView 方法時所捲動到的位置。
公用屬性 AutoScrollPosition 取得或設定執行窗格自動捲動的位置。
公用屬性 AutoSize 基礎架構。執行窗格不支援這個屬性。
公用屬性 AutoSizeMode 取得或設定執行窗格控制項自動調整其大小所根據的模式。
公用屬性 AutoValidate 取得或設定值,這個值表示執行窗格中的控制項是否會在焦點變更時自動進行驗證。
公用屬性 BackColor 取得或設定執行窗格的背景色彩。
公用屬性 BackgroundImage 取得或設定在執行窗格中顯示的背景影像。
公用屬性 BackgroundImageLayout 取得或設定背景影像在執行窗格中的位置和行為。
公用屬性 BindingContext 取得或設定物件,此物件用所有繫結於相同同步資料來源之執行窗格上的所有控制項。
公用屬性 BorderStyle 取得或設定執行窗格的框線樣式。
公用屬性 Bottom 取得執行窗格下邊緣和其容器工作區 (Client Area) 上邊緣之間的距離 (以像素為單位)。
公用屬性 Bounds 取得或設定執行窗格控制項 (包括其非工作區項目) 相對於其父代之大小和位置 (以像素為單位)。
公用屬性 CanFocus 取得表示執行窗格是否能取得焦點的值。
公用屬性 CanSelect 取得表示是否可選取執行窗格的值。
公用屬性 Capture 取得或設定值,指出執行窗格是否擷取住滑鼠。
公用屬性 CausesValidation 取得或設定值,這個值表示當控制項取得焦點時,執行窗格是否會在任何需要驗證的控制項上執行驗證。
公用屬性 ClientRectangle 取得表示執行窗格工作區的矩形。
公用屬性 ClientSize 取得或設定執行窗格工作區的高度和寬度。
公用屬性 CompanyName 取得包含執行窗格之應用程式的公司名稱或建立者。
公用屬性 Container 基礎架構。執行窗格不支援這個屬性。
公用屬性 ContainsFocus 取得指示執行窗格 (或其子控制項之一) 目前是否擁有輸入焦點的值。
公用屬性 ContextMenu 取得或設定與這個執行窗格關聯的捷徑功能表。
公用屬性 ContextMenuStrip 取得或設定與執行窗格相關聯的 ContextMenuStrip
公用屬性 Controls 取得執行窗格中包含之控制項的集合。
公用屬性 Created 取得值,表示是否已經建立執行窗格。
公用屬性 CurrentAutoScaleDimensions 取得螢幕目前的執行階段維度。
公用屬性 Cursor 取得或設定滑鼠指標在執行窗格上停留時顯示的游標。
公用屬性 DataBindings 取得執行窗格的資料繫結。
公用屬性 DisplayRectangle 取得表示執行窗格之顯示區域的矩形。
公用屬性 Disposing 取得值,表示執行窗格是否正在處置的過程中。
公用屬性 Dock 取得或設定哪些執行窗格控制項邊界固定至其父代,並判斷如何根據執行窗格控制項的父代調整其大小。
公用屬性 DockPadding 基礎架構。執行窗格不支援這個屬性。
公用屬性 Enabled 取得或設定值,指出執行窗格是否可回應使用者互動。
公用屬性 Focused 取得表示執行窗格是否擁有輸入焦點的值。
公用屬性 Font 取得或設定執行窗格顯示的文字字型。
公用屬性 ForeColor 取得或設定執行窗格的前景色彩。
公用屬性 Handle 取得執行窗格要繫結的目標視窗控制代碼。
公用屬性 HasChildren 取得指示控制項是否包含一個或多個子控制項的值。
公用屬性 Height 取得或設定控制項的高度。
公用屬性 HorizontalScroll 取得與水平捲軸相關聯的特性。
公用屬性 ImeMode 取得或設定執行窗格的輸入法 (IME) 模式。
公用屬性 InvokeRequired 取得值,這個值指示是否由於呼叫端是在建立執行窗格控制項之執行緒以外的執行緒,因此在進行執行窗格控制項的方法呼叫時,應呼叫叫用 (Invoke) 方法。
公用屬性 IsAccessible 取得或設定值,指出協助工具應用程式是否能使用執行窗格。
公用屬性 IsDisposed 取得值,指出執行窗格控制項是否已經處置。
公用屬性 IsHandleCreated 取得值,指出執行窗格控制項是否有相關控制代碼。
公用屬性 IsMirrored 取得值,這個值表示是否鏡射執行窗格。
公用屬性 LayoutEngine 取得執行窗格控制項之配置引擎的快取執行個體。
公用屬性 Left 取得或設定執行窗格左邊緣和其容器工作區 (Client Area) 左邊緣之間的距離 (以像素為單位)。
公用屬性 Location 取得或設定執行窗格相對於其容器左上角的左上角座標。
公用屬性 Margin 取得或設定控制項之間的空格。
公用屬性 MaximumSize 取得或設定 GetPreferredSize 可以指定的上限大小。
公用屬性 MinimumSize 取得或設定 GetPreferredSize 可以指定的下限大小。
公用屬性 Name 取得或設定控制項的名稱。
公用屬性 Orientation 取得值,這個值表示執行窗格是垂直配置還是水平配置。
公用屬性 Padding 取得或設定執行窗格內的邊框間距。
公用屬性 Parent 取得或設定執行窗格的父容器。
公用屬性 ParentForm 基礎架構。執行窗格不支援這個屬性。
公用屬性 PreferredSize 取得能夠容納執行窗格的矩形區域大小。
公用屬性 ProductName 取得包含執行窗格之組件的產品名稱。
公用屬性 ProductVersion 取得包含執行窗格之組件的版本。
公用屬性 RecreatingHandle 取得值,指出執行窗格控制項目前是否正重新建立其控制代碼。
公用屬性 Region 取得或設定與執行窗格關聯的視窗區域。
公用屬性 Right 取得執行窗格右邊緣和其容器工作區 (Client Area) 左邊緣之間的距離 (以像素為單位)。
公用屬性 RightToLeft 取得或設定值,指出執行窗格的元素是否對齊,以支援使用由右至左字型的地區設定。
公用屬性 Site 取得或設定執行窗格的站台。
公用屬性 Size 取得或設定執行窗格控制項的高度和寬度。
公用屬性 StackOrder 取得或設定值,表示控制項在執行窗格上堆疊的方向。
公用屬性 TabIndex 取得或設定執行窗格在其容器中的定位順序。
公用屬性 TabStop 取得或設定值,這個值表示使用者是否能使用 TAB 鍵,將焦點提供給執行窗格。
公用屬性 Tag 取得或設定包含有關執行窗格的資料的物件。
公用屬性 Text 基礎架構。執行窗格不支援這個屬性。
公用屬性 Top 取得或設定執行窗格控制項上邊緣和其容器工作區 (Client Area) 上邊緣之間的距離 (以像素為單位)。
公用屬性 TopLevelControl 基礎架構。執行窗格不支援這個屬性。
公用屬性 UseWaitCursor 取得或設定值,這個值表示是否將等待游標用於執行窗格和所有子控制項。
公用屬性 VerticalScroll 取得與垂直捲軸相關聯的特性。
公用屬性 Visible 取得或設定值,這個值會指出 ActionsPane 是否為可見的。
公用屬性 Width 取得或設定控制項的寬度。
公用屬性 WindowTarget 基礎架構。執行窗格不支援這個屬性。

回頁首

方法

  名稱 說明
公用方法 BeginInit 基礎架構。
公用方法 BeginInvoke(Delegate) 在建立執行窗格控制項基礎控制代碼的執行緒上,以非同步方式執行指定的委派。
公用方法 BeginInvoke(Delegate, array<Object[]) 在建立執行窗格控制項基礎控制代碼的執行緒上,以指定的引數非同步執行指定的委派。
公用方法 BringToFront 將執行窗格帶到疊置順序的前面。
公用方法 Clear 會從文件中斷這些動作窗格方案的連結。
公用方法 Contains 傳回值,這個值表示指定的控制項是否為執行窗格的子系。
公用方法 CreateControl 強制建立可見執行窗格,包含建立控制代碼和任何可見子控制項。
公用方法 CreateGraphics 建立執行窗格控制項的 Graphics
公用方法 Dispose 執行與釋放 (Free)、釋放 (Release) 或重設 Unmanaged 資源相關聯之應用程式定義的工作。 (繼承自 IDisposable)。
公用方法 DoDragDrop 開始拖放作業。
公用方法 DrawToBitmap 支援呈現為指定的點陣圖。
公用方法 EndInit 基礎架構。
公用方法 EndInvoke 擷取指定非同步操作的傳回值。
公用方法 FindForm 擷取執行窗格控制項所在的表單。
公用方法 Focus 將輸入焦點設為執行窗格。
公用方法 GetChildAtPoint(Point) 擷取位於指定座標的子控制項。
公用方法 GetChildAtPoint(Point, GetChildAtPointSkip) 擷取位於指定座標上的子控制項,指定是否要忽略特定型別的子控制項。
公用方法 GetContainerControl 傳回父控制項的控制項鏈結上的下一個 ContainerControl
公用方法 GetNextControl 擷取子控制項定位順序中前後的下一個控制項。
公用方法 GetPreferredSize 擷取能夠容納執行窗格的矩形區域的大小。
公用方法 Hide 會從工作窗格使用者介面移除 ActionsPane 和控制項,但會保留工作窗格為可見的狀態。
公用方法 Invalidate() 讓執行窗格的整個介面失效,並重新繪製執行窗格。
公用方法 Invalidate(Boolean) 讓執行窗格的整個介面無效,並且傳送繪圖訊息至執行窗格。或者,使指派給執行窗格的子控制向失效。
公用方法 Invalidate(Rectangle) 使執行窗格的指定區域失效 (將它加入至執行窗格的更新區域,而這個區域會在下一個繪製作業中重新繪製),並使繪製訊息傳送至執行窗格。
公用方法 Invalidate(Region) 使執行窗格的指定區域失效 (將它加入至執行窗格的更新區域,而這個區域會在下一個繪製作業中重新繪製),並使繪製訊息傳送至執行窗格。
公用方法 Invalidate(Rectangle, Boolean) 使執行窗格的指定區域失效 (將它加入至執行窗格的更新區域,而這個區域會在下一個繪製作業中重新繪製),並使繪製訊息傳送至執行窗格。或者,使指派給執行窗格的子控制向失效。
公用方法 Invalidate(Region, Boolean) 使執行窗格的指定區域失效 (將它加入至執行窗格的更新區域,而這個區域會在下一個繪製作業中重新繪製),並使繪製訊息傳送至執行窗格。或者,使指派給執行窗格的子控制向失效。
公用方法 Invoke(Delegate) 在擁有執行窗格基礎視窗控制代碼的執行緒上執行指定的委派。
公用方法 Invoke(Delegate, array<Object[]) 在擁有執行窗格基礎視窗控制代碼的執行緒上,以指定的引數清單執行指定的委派。
公用方法 PerformAutoScale 執行縮放執行窗格及其子系。
公用方法 PerformLayout() 強制執行窗格將配置邏輯套用至其所有子控制項。
公用方法 PerformLayout(Control, String) 強制執行窗格將配置邏輯套用至其所有子控制項。
公用方法 PointToClient 將指定的螢幕點的位置計算為工作區座標 (Client Coordinate)。
公用方法 PointToScreen 將指定的工作區點的位置計算為螢幕座標。
公用方法 PreProcessControlMessage 先於訊息迴圈中前置處理鍵盤或輸入訊息後,再分派這些訊息。
公用方法 PreProcessMessage 先於訊息迴圈中前置處理鍵盤或輸入訊息後,再分派這些訊息。
公用方法 RectangleToClient 以工作區座標計算指定的螢幕矩形大小和位置。
公用方法 RectangleToScreen 以螢幕座標計算指定的工作區矩形大小和位置。
公用方法 Refresh 強制執行窗格使其工作區失效,並且立即重繪其本身和任何子控制項。
公用方法 ResetBackColor 基礎架構。執行窗格不支援這個方法。
公用方法 ResetBindings 基礎架構。執行窗格不支援這個方法。
公用方法 ResetCursor 基礎架構。執行窗格不支援這個方法。
公用方法 ResetFont 基礎架構。執行窗格不支援這個方法。
公用方法 ResetForeColor 基礎架構。執行窗格不支援這個方法。
公用方法 ResetImeMode 基礎架構。執行窗格不支援這個方法。
公用方法 ResetRightToLeft 基礎架構。執行窗格不支援這個方法。
公用方法 ResetText 基礎架構。執行窗格不支援這個方法。
公用方法 ResumeLayout() 繼續平常的配置邏輯。
公用方法 ResumeLayout(Boolean) 繼續平常的配置邏輯,選擇性地強制暫止配置要求的立即配置。
公用方法 Scale 根據指定的縮放比例來縮放執行窗格和所有子控制項。
公用方法 ScrollControlIntoView 將指定的子控制項捲動至檢視處。
公用方法 Select 啟動執行窗格。
公用方法 SelectNextControl 啟動下一個控制項。
公用方法 SendToBack 將執行窗格控制項傳送到疊置順序的後面。
公用方法 SetAutoScrollMargin 設定自動捲動邊界的大小。
公用方法 SetBounds(Int32, Int32, Int32, Int32) 將執行窗格的範圍設定為指定的位置和大小。
公用方法 SetBounds(Int32, Int32, Int32, Int32, BoundsSpecified) 將執行窗格的指定範圍設定為指定的位置和大小。
公用方法 Show 會在工作窗格上顯示 ActionsPane,其中包含所有已加入至 ActionsPane 的控制項,但是如果這個工作窗格為不可見,便不會顯示出來。
公用方法 SuspendLayout 暫停執行窗格的配置邏輯。
公用方法 Update 使執行窗格重繪其工作區內的失效區域。
公用方法 Validate() 藉由依序讓 ValidatingValidated 事件發生,驗證執行窗格的內容。
公用方法 Validate(Boolean) 有條件地根據自動驗證是否開啟,驗證執行窗格的內容。
公用方法 ValidateChildren() 導致支援驗證的所有子控制項對其資料進行驗證。
公用方法 ValidateChildren(ValidationConstraints) 導致支援驗證的所有子控制項對其資料進行驗證。

回頁首

事件

  名稱 說明
公用事件 AutoSizeChanged 基礎架構。執行窗格不支援這個事件。
公用事件 AutoValidateChanged AutoValidate 屬性變更時發生。
公用事件 BackColorChanged 會在 BackColor 屬性的值變更時發生。
公用事件 BackgroundImageChanged 會在 BackgroundImage 屬性的值變更時發生。
公用事件 BackgroundImageLayoutChanged BackgroundImageLayout 屬性變更時發生。
公用事件 BindingContextChanged 會在 BindingContext 屬性的值變更時發生。
公用事件 CausesValidationChanged 會在 CausesValidation 屬性的值變更時發生。
公用事件 ChangeUICues 於焦點或鍵盤使用者介面 (UI) 提示變更時發生。
公用事件 Click 發生於按一下執行窗格時。
公用事件 ClientSizeChanged 會在 ClientSize 屬性的值變更時發生。
公用事件 ContextMenuChanged 會在 ContextMenu 屬性的值變更時發生。
公用事件 ContextMenuStripChanged 會在 ContextMenuStrip 屬性的值變更時發生。
公用事件 ControlAdded 發生於加入新控制項至 Controls 集合時。
公用事件 ControlRemoved 發生於從 Controls 集合移除控制項時。
公用事件 CursorChanged 會在 Cursor 屬性的值變更時發生。
公用事件 Disposed 發生於處置執行窗格時。
公用事件 DockChanged 會在 Dock 屬性的值變更時發生。
公用事件 DoubleClick 發生於按兩下執行窗格時。
公用事件 DragDrop 拖放作業完成時發生。
公用事件 DragEnter 發生於將物件拖曳至執行窗格的邊界時。
公用事件 DragLeave 發生於將物件拖曳出執行窗格的邊界時。
公用事件 DragOver 發生於將物件拖曳至執行窗格的邊界上方時。
公用事件 EnabledChanged Enabled 屬性值變更時發生。
公用事件 Enter 發生於輸入執行窗格時。
公用事件 FontChanged 發生於 Font 屬性值變更時。
公用事件 ForeColorChanged 發生於 ForeColor 屬性值變更時。
公用事件 GiveFeedback 發生於拖曳作業時。
公用事件 GotFocus 發生於執行窗格收到焦點時。
公用事件 HandleCreated 發生於為執行窗格建立控制代碼時。
公用事件 HandleDestroyed 發生於終結執行窗格的控制代碼時。
公用事件 HelpRequested 發生於使用者要求執行窗格的說明時。
公用事件 ImeModeChanged ImeMode 屬性變更時發生。
公用事件 Invalidated 發生於執行窗格的顯示要求重繪時。
公用事件 KeyDown 發生於執行窗格擁有焦點,且按下按鍵時。
公用事件 KeyPress 發生於執行窗格擁有焦點,且按下按鍵時。
公用事件 KeyUp 發生於執行窗格擁有焦點,且放開按鍵時。
公用事件 Layout 發生於執行窗格應重新調整其子控制項位置時。
公用事件 Leave 發生於輸入焦點離開執行窗格時。
公用事件 Load 發生於執行窗格第一次可見之前。
公用事件 LocationChanged Location 屬性值變更時發生。
公用事件 LostFocus 發生於執行窗格失去焦點時。
公用事件 MarginChanged 發生於執行窗格的邊界變更時。
公用事件 MouseCaptureChanged 發生於執行窗格失去或獲得滑鼠擷取時。
公用事件 MouseClick 發生於滑鼠按一下執行窗格時。
公用事件 MouseDoubleClick 發生於滑鼠按兩下執行窗格時。
公用事件 MouseDown 發生於滑鼠指標位於執行窗格上,並且按下滑鼠按鍵時。
公用事件 MouseEnter 發生於滑鼠指標進入執行窗格時。
公用事件 MouseHover 發生於滑鼠指標停留在執行窗格上時。
公用事件 MouseLeave 發生於滑鼠指標離開執行窗格時。
公用事件 MouseMove 發生於滑鼠指標移到執行窗格上時。
公用事件 MouseUp 發生於滑鼠指標位於執行窗格上,並且放開滑鼠鍵時。
公用事件 MouseWheel 發生於執行窗格擁有焦點,且移動滑鼠滾輪時。
公用事件 Move 發生於移動執行窗格時。
公用事件 OrientationChanged 當執行窗格的 Orientation 變更時發生。
公用事件 PaddingChanged 發生於執行窗格的邊框間距改變時。
公用事件 Paint 發生於重新繪製執行窗格時。
公用事件 ParentChanged 發生於 Parent 屬性值變更時。
公用事件 PreviewKeyDown 發生於焦點位於這個控制項上時並按下鍵盤按鍵的 KeyDown 事件之前。
公用事件 QueryAccessibilityHelp 發生於 AccessibleObject 為協助工具應用程式提供說明時。
公用事件 QueryContinueDrag 發生於拖放作業時,讓拖曳來源能夠決定是否應取消拖放作業。
公用事件 RegionChanged 會在 Region 屬性的值變更時發生。
公用事件 Resize 發生於調整執行窗格大小時。
公用事件 RightToLeftChanged 發生於 RightToLeft 屬性值變更時。
公用事件 Scroll 當使用者或程式碼捲動工作區時發生。
公用事件 SizeChanged 發生於 Size 屬性值變更時。
公用事件 StyleChanged 當執行窗格的樣式變更時發生。
公用事件 SystemColorsChanged 發生於系統色彩變更時。
公用事件 TabIndexChanged 發生於 TabIndex 屬性值變更時。
公用事件 TabStopChanged 發生於 TabStop 屬性值變更時。
公用事件 TextChanged 基礎架構。執行窗格不支援這個事件。
公用事件 Validated 發生於完成驗證執行窗格時。
公用事件 Validating 發生於驗證執行窗格時。
公用事件 VisibleChanged 發生於 Visible 屬性值變更時。

回頁首

備註

每個 Excel 或 Word 的文件級別自訂都會公開一個ActionsPane物件。 您可以使用這個物件在文件層級專案中自訂 [文件動作] 工作窗格的使用者介面。 若要取得 ActionsPane 物件,請在專案中使用 ThisDocument 類別 (用於 Word) 或ThisWorkbook 類別 (用於 Excel) 的 ActionsPane 欄位。 如需詳細資訊,請參閱執行窗格概觀

每個ActionsPane物件可擴充一個基本 Windows Forms UserControl,提供一個可供您自訂的使用者介面。 大多數的ActionsPane成員對應於基礎UserControl的成員。 使用下列 ActionsPane 成員以存取執行窗格的專用功能:

  • Clear 方法呼叫的。 請使用這個方法中斷執行窗格與文件或活頁簿的連結。

  • AutoRecover 屬性。 使用這個屬性來防止或允許使用者中斷執行窗格與文件或活頁簿的連結。

  • Orientation 屬性。 使用此屬性來判斷執行窗格是停駐在文件或活頁簿的頂端或底端,或是停駐在文件或活頁簿的左側或右側。

  • StackOrder 屬性。 使用這個屬性指定控制項在動作窗格上的堆疊方向。

  • OrientationChanged 事件。 使用這個屬性來判斷何時將執行窗格固定至不同的位置。

注意事項注意事項

這個界面是由 Visual Studio Tools for Office Runtime 實作,並不能實作於您的程式碼中。如需詳細資訊,請參閱 Visual Studio Tools for Office Runtime 概觀

使用方式

本文件說明此型別用於以 .NET Framework 4 和 .NET Framework 4.5 為目標之 Office 專案的版本。在以 .NET Framework 3.5 為目標的專案中,此型別可能會有不同的成員,而為此型別提供的程式碼範例可能無法運作。如需此型別在以 .NET Framework 3.5 為目標之專案中的相關文件,請參閱下列 Visual Studio 2008 文件中的參考章節:https://go.microsoft.com/fwlink/?LinkId=160658 (英文)。

範例

下列程式碼會示範如何建立會自動調整內容對齊的簡單執行窗格。 當使用者將執行窗格移至應用程式視窗的不同部分而變更執行窗格的方向,或使用者按一下執行窗格的 Button 控制項時,Orientation 屬性可用來決定 StackOrder 屬性的新值。 若要執行這個程式碼,請從文件層級 Excel 專案的 ThisWorkbook_Startup 事件處理常式呼叫 InitActionsPane 方法。

Private Sub InitActionsPane()
    With Globals.ThisWorkbook.ActionsPane
        .Clear()
        .Visible = True
        .AutoRecover = True
    End With

    AddHandler Globals.ThisWorkbook.ActionsPane.OrientationChanged, _
        AddressOf ActionsPane_OrientationChanged
    ResetStackOrder()

    ' Create the button that will update the stack order.
    Dim button1 As New Button()
    button1.Text = "Change stack order"
    AddHandler button1.Click, AddressOf button1_Click

    ' Create two more buttons that do nothing.
    Dim button2 As New Button()
    button2.Text = "Button 2"
    Dim button3 As New Button()
    button3.Text = "Button 3"

    Globals.ThisWorkbook.ActionsPane.Controls.AddRange(New Control() _
        {button1, button2, button3})
End Sub

' Switch the stack order according to the current orientation.
Private Sub button1_Click(ByVal sender As Object, ByVal e As EventArgs)

    If Globals.ThisWorkbook.ActionsPane.Orientation = _
        Orientation.Horizontal Then

        If Globals.ThisWorkbook.ActionsPane.StackOrder = _
            Microsoft.Office.Tools.StackStyle.FromLeft Then
            Globals.ThisWorkbook.ActionsPane.StackOrder = _
                Microsoft.Office.Tools.StackStyle.FromRight
        Else
            Globals.ThisWorkbook.ActionsPane.StackOrder = _
                Microsoft.Office.Tools.StackStyle.FromLeft
        End If
    Else
        If Globals.ThisWorkbook.ActionsPane.StackOrder = _
            Microsoft.Office.Tools.StackStyle.FromTop Then
            Globals.ThisWorkbook.ActionsPane.StackOrder = _
                Microsoft.Office.Tools.StackStyle.FromBottom
        Else
            Globals.ThisWorkbook.ActionsPane.StackOrder = _
                Microsoft.Office.Tools.StackStyle.FromTop
        End If
    End If
End Sub

Private Sub ActionsPane_OrientationChanged(ByVal sender As Object, _
    ByVal e As EventArgs)
    ResetStackOrder()
End Sub

' Readjust the stack order so that it matches the current orientation.
Sub ResetStackOrder()
    If Globals.ThisWorkbook.ActionsPane.Orientation = _
        Orientation.Horizontal Then

        If (Globals.ThisWorkbook.ActionsPane.StackOrder = _
        Microsoft.Office.Tools.StackStyle.FromTop Or _
        Globals.ThisWorkbook.ActionsPane.StackOrder = _
        Microsoft.Office.Tools.StackStyle.FromBottom) Then
            Globals.ThisWorkbook.ActionsPane.StackOrder = _
                Microsoft.Office.Tools.StackStyle.FromLeft
        End If
    End If

    If Globals.ThisWorkbook.ActionsPane.Orientation = _
        Orientation.Vertical Then

        If (Globals.ThisWorkbook.ActionsPane.StackOrder = _
        Microsoft.Office.Tools.StackStyle.FromLeft Or _
        Globals.ThisWorkbook.ActionsPane.StackOrder = _
        Microsoft.Office.Tools.StackStyle.FromRight) Then
            Globals.ThisWorkbook.ActionsPane.StackOrder = _
                Microsoft.Office.Tools.StackStyle.FromTop
        End If
    End If
End Sub
private void InitActionsPane()
{
    Globals.ThisWorkbook.ActionsPane.Clear();
    Globals.ThisWorkbook.ActionsPane.Visible = true;
    Globals.ThisWorkbook.ActionsPane.AutoRecover = true;
    Globals.ThisWorkbook.ActionsPane.OrientationChanged +=
        new EventHandler(ActionsPane_OrientationChanged);
    ResetStackOrder();

    // Create the button that will update the stack order.
    Button button1 = new Button();
    button1.Text = "Change stack order";
    button1.Click += new EventHandler(button1_Click);

    // Create two more buttons that do nothing.
    Button button2 = new Button();
    button2.Text = "Button 2";
    Button button3 = new Button();
    button3.Text = "Button 3";

    Globals.ThisWorkbook.ActionsPane.Controls.AddRange(
        new Control[] { button1, button2, button3 });
}

// Switch the stack order according to the current orientation.
void button1_Click(object sender, EventArgs e)
{
    if (Globals.ThisWorkbook.ActionsPane.Orientation == 
        Orientation.Horizontal)
    {
        if (Globals.ThisWorkbook.ActionsPane.StackOrder == 
            Microsoft.Office.Tools.StackStyle.FromLeft)
        {
            Globals.ThisWorkbook.ActionsPane.StackOrder =
                Microsoft.Office.Tools.StackStyle.FromRight;
        }
        else
        {
            Globals.ThisWorkbook.ActionsPane.StackOrder =
                Microsoft.Office.Tools.StackStyle.FromLeft;
        }
    }
    else
    {
        if (Globals.ThisWorkbook.ActionsPane.StackOrder ==
            Microsoft.Office.Tools.StackStyle.FromTop)
        {
            Globals.ThisWorkbook.ActionsPane.StackOrder =
                Microsoft.Office.Tools.StackStyle.FromBottom;
        }
        else
        {
            Globals.ThisWorkbook.ActionsPane.StackOrder =
                Microsoft.Office.Tools.StackStyle.FromTop;
        }
    }
}

void ActionsPane_OrientationChanged(object sender, EventArgs e)
{
    ResetStackOrder();
}

// Readjust the stack order so that it matches the current orientation.
void ResetStackOrder()
{
    if (Globals.ThisWorkbook.ActionsPane.Orientation == 
        Orientation.Horizontal &&
       (Globals.ThisWorkbook.ActionsPane.StackOrder == 
           Microsoft.Office.Tools.StackStyle.FromTop ||
        Globals.ThisWorkbook.ActionsPane.StackOrder ==
           Microsoft.Office.Tools.StackStyle.FromBottom))
    {
        Globals.ThisWorkbook.ActionsPane.StackOrder =
            Microsoft.Office.Tools.StackStyle.FromLeft;
    }

    if (Globals.ThisWorkbook.ActionsPane.Orientation == 
        Orientation.Vertical &&
       (Globals.ThisWorkbook.ActionsPane.StackOrder ==
           Microsoft.Office.Tools.StackStyle.FromLeft ||
        Globals.ThisWorkbook.ActionsPane.StackOrder ==
           Microsoft.Office.Tools.StackStyle.FromRight))
    {
        Globals.ThisWorkbook.ActionsPane.StackOrder =
            Microsoft.Office.Tools.StackStyle.FromTop;
    }
}

請參閱

參考

Microsoft.Office.Tools 命名空間

其他資源

執行窗格概觀