Udostępnij za pośrednictwem


Przegląd okienka akcji

Okienko akcji to dostosowywalne okienko zadań Akcje dokumentu dołączone do określonego dokumentu programu Microsoft Office Word lub skoroszytu programu Microsoft Office Excel. Okienko akcji jest hostowane w okienku zadań pakietu Office wraz z innymi wbudowanymi okienkami zadań, takimi jak okienko zadań Źródło XML w programie Excel lub okienko zadań Style i formatowanie w programie Word. Za pomocą kontrolek formularzy systemu Windows lub kontrolek WPF można zaprojektować interfejs użytkownika okienka akcji.

Dotyczy: informacje w tym temacie dotyczą projektów na poziomie dokumentu dla programów Excel i Word. Aby uzyskać więcej informacji, zobacz Funkcje dostępne przez aplikacja pakietu Office lication i typ projektu.

Okienko akcji można utworzyć tylko w dostosowywaniu na poziomie dokumentu dla programu Word lub Excel. Nie można utworzyć okienka akcji w dodatku VSTO. Aby uzyskać więcej informacji, zobacz Funkcje dostępne przez aplikacja pakietu Office lication i typ projektu.

Uwaga

Okienko akcji różni się od niestandardowych okienek zadań. Niestandardowe okienka zadań są skojarzone z aplikacją, a nie z określonym dokumentem. Niestandardowe okienka zadań można tworzyć w dodatku VSTO dla niektórych aplikacja pakietu Office licacji firmy Microsoft. Aby uzyskać więcej informacji, zobacz Niestandardowe okienka zadań.

Wyświetlanie okienka akcji

Okienko akcji jest reprezentowane przez klasę ActionsPane . Podczas tworzenia projektu na poziomie dokumentu wystąpienie tej klasy jest dostępne dla kodu przy użyciu ActionsPane pola ThisWorkbook klasy (dla programu Excel) lub ThisDocument (dla programu Word) w projekcie. Aby wyświetlić okienko akcji, dodaj kontrolkę Formularze systemu Windows do Controls właściwości ActionsPane pola. Poniższy przykład kodu dodaje kontrolkę o nazwie actions do okienka akcji.

this.ActionsPane.Controls.Add(actions);

Okienko akcji staje się widoczne w czasie wykonywania, gdy tylko jawnie dodasz do niego kontrolkę. Po wyświetleniu okienka akcji można dynamicznie dodawać lub usuwać kontrolki w odpowiedzi na akcje użytkownika. Zazwyczaj dodasz kod, aby wyświetlić okienko akcji w Startup procedurze obsługi ThisDocument zdarzeń programu lub ThisWorkbook tak, aby okienko akcji było widoczne po pierwszym otwarciu dokumentu przez użytkownika. Możesz jednak wyświetlić okienko akcji tylko w odpowiedzi na akcję użytkownika w dokumencie. Możesz na przykład dodać kod do Click zdarzenia kontrolki w dokumencie.

Dodawanie wielu kontrolek do okienka akcji

Po dodaniu wielu kontrolek do okienka akcji należy zgrupować kontrolki w kontrolce użytkownika, a następnie dodać kontrolkę Controls użytkownika do właściwości . Ten proces obejmuje następujące kroki:

  1. Utwórz interfejs użytkownika okienka akcji, dodając do projektu kontrolkę okienka akcji lub element Kontrolka użytkownika. Oba te elementy obejmują niestandardową klasę Windows Forms UserControl . Elementy Kontrolka okienka akcji i Kontrolka użytkownika są równoważne. Jedyną różnicą jest ich nazwa.

  2. Dodaj kontrolki Windows Forms do UserControl elementu przy użyciu projektanta lub pisząc kod.

    Uwaga

    Kontrolki WPF można również dodać do okienka akcji, dodając WPF UserControl do formularzy UserControlsystemu Windows . Aby uzyskać więcej informacji, zobacz Używanie kontrolek WPF w rozwiązaniach pakietu Office.

  3. Dodaj wystąpienie niestandardowej kontrolki użytkownika do kontrolek znajdujących się w ActionsPane polu ThisWorkbook klasy (dla programu Excel) lub ThisDocument (dla programu Word) w projekcie.

    Aby zapoznać się z przykładami, które przedstawiają ten proces bardziej szczegółowo, zobacz How to: Add an actions pane to Word documents or Excel workbooks (Jak: dodawanie okienka akcji do dokumentów programu Word lub skoroszytów programu Excel).

Ukryj okienko akcji

ActionsPane Mimo że klasa ma metodę HideVisible i właściwość, nie można usunąć okienka akcji z interfejsu użytkownika przy użyciu żadnych składowych ActionsPane samej klasy. Hide Wywołanie metody lub ustawienie Visible właściwości false powoduje ukrycie tylko kontrolek w okienku akcji; nie ukrywa okienka zadań.

Aby ukryć okienko zadań w rozwiązaniu, masz kilka opcji:

  • W przypadku programu Word ustaw Visible właściwość TaskPane obiektu reprezentującego okienko zadań Akcje dokumentu na wartość false. Poniższy przykład kodu ma być uruchamiany z ThisDocument klasy w projekcie.

    this.Application.TaskPanes[Word.WdTaskPanes.wdTaskPaneDocumentActions].Visible = false;
    
  • W przypadku programu Excel ustaw DisplayDocumentActionTaskPane właściwość Application obiektu na false. Poniższy przykład kodu ma być uruchamiany z ThisWorkbook klasy w projekcie.

    this.Application.DisplayDocumentActionTaskPane = false;
    
  • W przypadku programu Word lub Excel można również ustawić Visible właściwość paska poleceń reprezentującego okienko zadań na wartość false. Poniższy przykład kodu ma zostać uruchomiony z ThisDocument klasy lub ThisWorkbook w projekcie.

    this.Application.CommandBars["Task Pane"].Visible = false;
    

Wyczyść okienko akcji po otwarciu dokumentu

Gdy użytkownik zapisuje dokument, gdy okienko akcji jest widoczne, okienko akcji jest widoczne za każdym razem, gdy dokument zostanie otwarty, niezależnie od tego, czy okienko akcji zawiera jakiekolwiek kontrolki. Jeśli chcesz kontrolować, kiedy się pojawi, wywołaj Clear metodę ActionsPane pola w Startup procedurze obsługi ThisDocument zdarzeń programu lub ThisWorkbook upewnij się, że okienko akcji nie jest widoczne po otwarciu dokumentu.

Określanie, kiedy okienko akcji jest zamknięte

Nie ma zdarzenia, które jest zgłaszane po zamknięciu okienka akcji. ActionsPane Mimo że klasa ma VisibleChanged zdarzenie, to zdarzenie nie jest zgłaszane, gdy użytkownik końcowy zamknie okienko akcji. Zamiast tego to zdarzenie jest zgłaszane, gdy kontrolki w okienku akcji są ukryte przez wywołanie Hide metody lub ustawienie Visible właściwości na false.

Gdy użytkownik zamknie okienko akcji, użytkownik może wyświetlić go ponownie, wykonując jedną z poniższych procedur w interfejsie użytkownika aplikacji.

Aby wyświetlić okienko akcji przy użyciu interfejsu użytkownika programu Word lub Excel
  1. Na wstążce kliknij kartę Widok .

  2. W grupie Pokaż/Ukryj kliknij przycisk przełącznika Akcje dokumentu.

Zdarzenia okienka akcji programu

Do okienka akcji można dodać wiele kontrolek użytkownika, a następnie napisać kod, aby reagować na zdarzenia w dokumencie, wyświetlając i ukrywając kontrolki użytkownika. Jeśli zamapujesz elementy schematu XML na dokument, możesz wyświetlić pewne kontrolki użytkownika w okienku akcji za każdym razem, gdy punkt wstawiania znajduje się wewnątrz jednego z elementów XML. Aby uzyskać więcej informacji, zobacz Jak mapować schematy na dokumenty programu Word w programie Visual Studio i Jak mapować schematy na arkusze w programie Visual Studio.

Możesz również napisać kod, aby reagować na zdarzenia dowolnego obiektu, w tym kontrolkę hosta, aplikację lub zdarzenia dokumentu. Aby uzyskać więcej informacji, zobacz Przewodnik: Program względem zdarzeń kontrolki NamedRange.

Wiązanie danych z kontrolkami w okienku akcji

Kontrolki w okienku akcji mają te same możliwości powiązania danych co kontrolki w formularzach Windows Forms. Kontrolki można powiązać ze źródłami danych, takimi jak zestawy danych, typizowane zestawy danych i XML. Aby uzyskać więcej informacji, zobacz Powiązanie danych i Formularze systemu Windows.

Kontrolki w okienku akcji i kontrolkach w dokumencie można powiązać z tym samym zestawem danych. Można na przykład utworzyć relację wzorca/szczegółów między kontrolkami w okienku akcji i kontrolkami w arkuszu. Aby uzyskać więcej informacji, zobacz Przewodnik: wiązanie danych z kontrolkami w okienku akcji programu Excel.

Weryfikowanie danych w kontrolkach okienka akcji

Jeśli w procedurze obsługi zdarzeń w Validating okienku akcji zostanie wyświetlone okno komunikatu, zdarzenie może zostać zgłoszone po raz drugi, gdy fokus zostanie przeniesiony z kontrolki do pola komunikatu. Aby zapobiec temu problemowi, użyj ErrorProvider kontrolki , aby wyświetlić wszelkie komunikaty o błędach walidacji.

Kolejność stosu kontrolki użytkownika

Jeśli używasz wielu kontrolek użytkownika, możesz napisać kod, aby prawidłowo stosować kontrolki użytkownika w okienku akcji niezależnie od tego, czy jest zadokowany w pionie, czy w poziomie. Kolejność stosu kontrolek użytkownika w okienku akcji można ustawić przy użyciu StackStyle wyliczenia StackOrder właściwości . Aby uzyskać więcej informacji, zobacz How to: Manage control layout on actions panes (Jak zarządzać układem sterowania w okienkach akcji).

Właściwość StackOrder może przyjmować następujące StackStyle wartości wyliczenia.

Styl stosu Definicja
FromBottom Stos z dołu okienka akcji.
FromLeft Stos z lewej strony okienka akcji.
FromRight Stos z prawej strony okienka akcji.
Od góry Stos w górnej części okienka akcji.
Brak Nie zdefiniowano kolejności stosu; kolejność jest kontrolowana przez dewelopera.

Poniższy kod ustawia StackOrder właściwość w celu stosu kontrolek użytkownika w górnej części okienka akcji.

this.ActionsPane.StackOrder = Microsoft.Office.Tools.StackStyle.FromTop;

Kontrolki kotwicy

Jeśli użytkownik zmienia rozmiar okienka akcji w czasie wykonywania, kontrolki mogą zmieniać rozmiar za pomocą okienka akcji. Możesz użyć Anchor właściwości kontrolki Windows Forms, aby zakotwiczyć kontrolki w okienku akcji. Kontrolki formularzy systemu Windows można również zakotwiczyć w kontrolce użytkownika w ten sam sposób. Aby uzyskać więcej informacji, zobacz How to: Anchor controls on Windows Forms (Instrukcje: kotwiczenie kontrolek w formularzach systemu Windows).

Zmienianie rozmiaru okienka akcji

Nie można bezpośrednio zmienić rozmiaru obiektu ActionsPane , ponieważ ActionsPane element jest osadzony w okienku zadań. Można jednak programowo zmienić szerokość okienka zadań, ustawiając Width właściwość CommandBar reprezentującą okienko zadań. Możesz zmienić wysokość okienka zadań, jeśli jest zadokowana w poziomie lub zmienna.

Nie zaleca się programowego zmiany rozmiaru okienka zadań, ponieważ użytkownik powinien mieć możliwość wybrania rozmiaru okienka zadań, który najlepiej odpowiada ich potrzebom. Jeśli jednak musisz zmienić szerokość okienka zadań, możesz użyć następującego kodu, aby wykonać to zadanie.

this.CommandBars["Task Pane"].Width = 200;

Zmienia położenie okienka akcji

Nie można bezpośrednio zmienić położenia ActionsPane obiektu, ponieważ jest on osadzony w okienku zadań. Można jednak programowo przenieść okienko zadań, ustawiając Position właściwość CommandBar obiektu reprezentującego okienko zadań.

Programowe zmienianie położenia okienka zadań nie jest zalecane, ponieważ użytkownik powinien mieć możliwość wybrania pozycji okienka zadań na ekranie, który najlepiej odpowiada jego potrzebom. Jeśli jednak musisz przenieść okienko zadań do określonej pozycji, możesz użyć następującego kodu, aby osiągnąć to zadanie.

this.CommandBars["Task Pane"].Position =
    Microsoft.Office.Core.MsoBarPosition.msoBarLeft;

Uwaga

Użytkownicy końcowi mogą ręcznie zmienić położenie okienka zadań w dowolnym momencie. Nie ma możliwości upewnienia się, że okienko zadań pozostanie zadokowane w miejscu wskazywanym programowo. Można jednak sprawdzić zmiany orientacji i upewnić się, że kontrolki w okienku akcji są ułożone w prawidłowym kierunku. Aby uzyskać więcej informacji, zobacz How to: Manage control layout on actions panes (Jak zarządzać układem sterowania w okienkach akcji).

Top Ustawienie właściwości ActionsPane i Left obiektu nie zmienia jego położenia, ponieważ ActionsPane obiekt jest osadzony w okienku zadań.

Jeśli okienko zadań nie jest zadokowane, możesz ustawić Top właściwości CommandBar i Left reprezentujące okienko zadań. Poniższy kod przenosi oddokowane okienko zadań do lewego górnego rogu dokumentu.

if (this.CommandBars["Task Pane"].Position == 
    Microsoft.Office.Core.MsoBarPosition.msoBarFloating)
{
    this.CommandBars["Task Pane"].Top = 0;
    this.CommandBars["Task Pane"].Left = 0;
}