StackStyle Enumeration
Visual Studio 2010
Specifies the direction that controls will be stacked on an actions pane.
Assembly: Microsoft.Office.Tools.Common (in Microsoft.Office.Tools.Common.dll)
This enumeration is used by the StackOrder property. For more information about actions panes, see Actions Pane Overview.
The following code example demonstrates the effects of the StackOrder property. A Button control on the actions pane alternates the value of StackOrder (for example, if the orientation of the actions pane is vertical when the button is clicked, then a value of the StackOrder property changes from FromTop to FromBottom). If you move the actions pane and raise the OrientationChanged event, the event handler also updates the StackOrder property.
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; } }