ActionsPane-Klasse (2007 System)

Aktualisiert: November 2007

Die Klasse, die Implementierungen zum Anpassen des Aufgabenbereichs Dokumentaktionen in Anpassungen auf Dokumentebene für Microsoft Office Word und Microsoft Office Excel bereitstellt.

Namespace:  Microsoft.Office.Tools
Assembly:  Microsoft.Office.Tools.Common.v9.0 (in Microsoft.Office.Tools.Common.v9.0.dll)

Syntax

<PermissionSetAttribute(SecurityAction.Demand, Name := "FullTrust")> _
Public NotInheritable Class ActionsPane _
    Inherits RemoteComponent _
    Implements ISupportInitializeControl, ISupportInitialize

Dim instance As ActionsPane
[PermissionSetAttribute(SecurityAction.Demand, Name = "FullTrust")]
public sealed class ActionsPane : RemoteComponent, 
    ISupportInitializeControl, ISupportInitialize

Hinweise

Weitere Informationen über das Erstellen von Aktionsbereichen in Anpassungen auf Dokumentebene für Word und Excel finden Sie unter Aktionsbereichsübersicht.

Beispiele

Im folgenden Codebeispiel wird das Erstellen eines einfachen Aktionsbereichs veranschaulicht, der seinen Inhalt automatisch ausrichtet. Wenn der Benutzer die Ausrichtung des Aktionsbereichs ändert, indem er ihn an eine andere Stelle im Anwendungsfenster verschiebt, oder wenn der Benutzer auf ein Button-Steuerelement im Aktionsbereich klickt, wird die Orientation-Eigenschaft verwendet, um den neuen Wert der StackOrder-Eigenschaft zu bestimmen. Um diesen Code auszuführen, rufen Sie die InitActionsPane-Methode des ThisWorkbook_Startup-Ereignishandlers eines Excel-Projekts auf.

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;
    }
}

Vererbungshierarchie

System.Object
  Microsoft.VisualStudio.Tools.Office.RemoteComponent
    Microsoft.Office.Tools.ActionsPane

Threadsicherheit

Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Siehe auch

Referenz

ActionsPane-Member

Microsoft.Office.Tools-Namespace

Weitere Ressourcen

Aktionsbereichsübersicht