更新:2007 年 11 月
| 适用对象 | 
|---|
| 本主题中的信息仅适用于指定的 Visual Studio Tools for Office 项目和 Microsoft Office 版本。 项目类型 
 Microsoft Office 版本 
 有关更多信息,请参见按应用程序和项目类型提供的功能。 | 
默认情况下,操作窗格停靠在文档或工作表的右侧;但也可以将其停靠在左侧、顶部或底部。如果使用多个用户控件,则可以编写代码以在操作窗格上适当地堆叠用户控件。有关更多信息,请参见操作窗格概述。
这些控件的堆叠顺序取决于操作窗格是垂直停靠还是水平停靠。
| .gif) 说明: | 
|---|
| 如果用户在运行时会调整操作窗格的大小,则可以设置控件,使其可随操作窗格一起调整大小。可以使用 Windows 窗体控件的 Anchor 属性将控件锚定到操作窗格。有关更多信息,请参见 如何:在 Windows 窗体上锚定控件。 | 
可以使用 演练:根据用户上下文更改操作窗格 中的示例代码创建以下过程所需的多个操作窗格控件。
| .gif) 说明: | 
|---|
| 以下说明中的某些 Visual Studio 用户界面元素在计算机上出现的名称或位置可能会不同。您安装的 Visual Studio 版本以及使用的设置决定了这些元素。有关更多信息,请参见 Visual Studio 设置。 | 
设置操作窗格控件的堆叠顺序
- 打开 Microsoft Office Word 的文档级项目,该项目包含一个具有多个用户控件或嵌套操作窗格控件的操作窗格。有关更多信息,请参见如何:向 Word 文档添加操作窗格。 
- 在“解决方案资源管理器”中,右击“ThisDocument.cs”或“ThisDocument.vb”,然后单击“查看代码”。 
- 在操作窗格的 OrientationChanged 事件处理程序中检查操作窗格的方向是否为水平。 - Private Sub ActionsPane_OrientationChanged(ByVal sender As Object, ByVal e As System.EventArgs) _ Handles ActionsPane.OrientationChanged If Me.ActionsPane.Orientation = Orientation.Horizontal Then- private void ActionsPane_OrientationChanged(object sender, EventArgs e) { if (ActionsPane.Orientation == Orientation.Horizontal) {
- 如果方向为水平,则从左侧开始堆叠操作窗格控件;否则将从顶部开始堆叠控件。 - Me.ActionsPane.StackOrder = Microsoft.Office.Tools.StackStyle.FromLeft Else Me.ActionsPane.StackOrder = Microsoft.Office.Tools.StackStyle.FromTop End If End Sub- this.ActionsPane.StackOrder = Microsoft.Office.Tools.StackStyle.FromLeft; } else { this.ActionsPane.StackOrder = Microsoft.Office.Tools.StackStyle.FromTop; } }
- 在 C# 中,必须向 Startup 事件处理程序添加 ActionsPane 的事件处理程序。有关创建事件处理程序的信息,请参见如何:使用 Visual Studio Tools for Office 创建事件处理程序。 - private void ThisDocument_Startup(object sender, System.EventArgs e) { this.ActionsPane.OrientationChanged += new EventHandler(ActionsPane_OrientationChanged); }
- 运行项目,并确认当操作窗格停靠在文档项部时,操作窗格控件从左到右堆叠,而当操作窗格停靠在文档右侧时,操作窗格控件从上到下堆叠。 
示例
Private Sub ActionsPane_OrientationChanged(ByVal sender As Object, ByVal e As System.EventArgs) _
    Handles ActionsPane.OrientationChanged
    If Me.ActionsPane.Orientation = Orientation.Horizontal Then
        Me.ActionsPane.StackOrder = Microsoft.Office.Tools.StackStyle.FromLeft
    Else
        Me.ActionsPane.StackOrder = Microsoft.Office.Tools.StackStyle.FromTop
    End If
End Sub
private void ThisDocument_Startup(object sender, System.EventArgs e)
{
    this.ActionsPane.OrientationChanged += new EventHandler(ActionsPane_OrientationChanged);
}
private void ActionsPane_OrientationChanged(object sender, EventArgs e)
{
    if (ActionsPane.Orientation == Orientation.Horizontal)
    {
        this.ActionsPane.StackOrder = Microsoft.Office.Tools.StackStyle.FromLeft;
    }
    else
    {
        this.ActionsPane.StackOrder = Microsoft.Office.Tools.StackStyle.FromTop;
    }
}
编译代码
此示例需要:
- 一个具有包含多个用户控件或嵌套操作窗格控件的操作窗格的 Word 文档级项目。