如何:管理操作窗格上的控件布局

更新:2007 年 11 月

适用对象

本主题中的信息仅适用于指定的 Visual Studio Tools for Office 项目和 Microsoft Office 版本。

项目类型

  • 文档级项目

Microsoft Office 版本

  • 2007 Microsoft Office system

  • Microsoft Office 2003

有关更多信息,请参见按应用程序和项目类型提供的功能

默认情况下,操作窗格停靠在文档或工作表的右侧;但也可以将其停靠在左侧、顶部或底部。如果使用多个用户控件,则可以编写代码以在操作窗格上适当地堆叠用户控件。有关更多信息,请参见操作窗格概述

这些控件的堆叠顺序取决于操作窗格是垂直停靠还是水平停靠。

h29yt5w6.alert_note(zh-cn,VS.90).gif说明:

如果用户在运行时会调整操作窗格的大小,则可以设置控件,使其可随操作窗格一起调整大小。可以使用 Windows 窗体控件的 Anchor 属性将控件锚定到操作窗格。有关更多信息,请参见 如何:在 Windows 窗体上锚定控件

可以使用 演练:根据用户上下文更改操作窗格 中的示例代码创建以下过程所需的多个操作窗格控件。

h29yt5w6.alert_note(zh-cn,VS.90).gif说明:

以下说明中的某些 Visual Studio 用户界面元素在计算机上出现的名称或位置可能会不同。您安装的 Visual Studio 版本以及使用的设置决定了这些元素。有关更多信息,请参见 Visual Studio 设置

设置操作窗格控件的堆叠顺序

  1. 打开 Microsoft Office Word 的文档级项目,该项目包含一个具有多个用户控件或嵌套操作窗格控件的操作窗格。有关更多信息,请参见如何:向 Word 文档添加操作窗格

  2. 在“解决方案资源管理器”中,右击“ThisDocument.cs”或“ThisDocument.vb”,然后单击“查看代码”。

  3. 在操作窗格的 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)
        {
    
  4. 如果方向为水平,则从左侧开始堆叠操作窗格控件;否则将从顶部开始堆叠控件。

            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;
        }
    }
    
  5. 在 C# 中,必须向 Startup 事件处理程序添加 ActionsPane 的事件处理程序。有关创建事件处理程序的信息,请参见如何:使用 Visual Studio Tools for Office 创建事件处理程序

    private void ThisDocument_Startup(object sender, System.EventArgs e)
    {
        this.ActionsPane.OrientationChanged += new EventHandler(ActionsPane_OrientationChanged);
    }
    
  6. 运行项目,并确认当操作窗格停靠在文档项部时,操作窗格控件从左到右堆叠,而当操作窗格停靠在文档右侧时,操作窗格控件从上到下堆叠。

示例

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 文档级项目。

请参见

任务

如何:向 Excel 工作簿添加操作窗格

如何:向 Word 文档添加操作窗格

演练:从操作窗格将文本插入到文档中

演练:根据用户上下文更改操作窗格

概念

操作窗格概述