Udostępnij za pośrednictwem


Niestandardowe okienka zadań

Okienka zadań to panele interfejsu użytkownika, które są zwykle zadokowane do jednej strony okna w aplikacja pakietu Office licacji firmy Microsoft. Niestandardowe okienka zadań umożliwiają tworzenie własnego okienka zadań i udostępnianie użytkownikom znanego interfejsu w celu uzyskania dostępu do funkcji rozwiązania. Na przykład interfejs może zawierać kontrolki, które uruchamiają kod w celu modyfikowania dokumentów lub wyświetlania danych ze źródła danych.

Dotyczy: informacje w tym temacie dotyczą projektów dodatków VSTO dla programu Outlook. Aby uzyskać więcej informacji, zobacz Funkcje dostępne przez aplikacja pakietu Office lication i typ projektu.

Uwaga

Niestandardowe okienko zadań różni się od okienka akcji. Okienko akcji jest częścią dostosowań na poziomie dokumentu dla programów Microsoft Office Word i Microsoft Office Excel. Aby uzyskać więcej informacji, zobacz Omówienie okienka akcji.

Zalety niestandardowych okienek zadań

Niestandardowe okienka zadań umożliwiają integrację funkcji ze znanym interfejsem użytkownika. Niestandardowe okienko zadań można szybko utworzyć przy użyciu narzędzi programu Visual Studio.

Znany interfejs użytkownika

Użytkownicy aplikacji w systemie Microsoft Office są już zaznajomieni z używaniem okienek zadań, takich jak okienko zadań Style i Formatowanie w programie Word. Niestandardowe okienka zadań zachowują się jak inne okienka zadań w systemie Microsoft Office. Użytkownicy mogą dokować niestandardowe okienka zadań do różnych stron okna aplikacji lub przeciągać niestandardowe okienka zadań do dowolnej lokalizacji w oknie. Można utworzyć dodatek VSTO, który wyświetla wiele niestandardowych okienek zadań w tym samym czasie, a użytkownicy mogą kontrolować poszczególne okienka zadań osobno.

Obsługa formularzy systemu Windows

Interfejs użytkownika niestandardowego okienka zadań tworzonego przy użyciu narzędzi programistycznych pakietu Office w programie Visual Studio jest oparty na kontrolkach windows Forms. Aby zaprojektować interfejs użytkownika dla niestandardowego okienka zadań, możesz użyć znanych Projektant Windows Forms. Można również użyć obsługi powiązania danych w formularzach Windows Forms, aby powiązać źródło danych z kontrolkami w okienku zadań.

Tworzenie niestandardowego okienka zadań

Podstawowe niestandardowe okienko zadań można utworzyć w dwóch krokach:

  1. Utwórz interfejs użytkownika dla niestandardowego okienka zadań, dodając kontrolki Windows Forms do UserControl obiektu.

  2. Utwórz wystąpienie niestandardowego okienka zadań, przekazując kontrolkę użytkownika do CustomTaskPaneCollection obiektu w dodatku VSTO. Ta kolekcja zwraca nowy CustomTaskPane obiekt, którego można użyć do modyfikowania wyglądu okienka zadań i reagowania na zdarzenia użytkownika.

    Aby uzyskać więcej informacji, zobacz How to: Add a custom task pane to an application (Instrukcje: dodawanie niestandardowego okienka zadań do aplikacji).

Tworzenie interfejsu użytkownika

Wszystkie niestandardowe okienka zadań tworzone przy użyciu narzędzi programistycznych pakietu Office w programie Visual Studio zawierają UserControl obiekt. Ta kontrolka użytkownika udostępnia interfejs użytkownika niestandardowego okienka zadań. Kontrolkę użytkownika można utworzyć w czasie projektowania lub w czasie wykonywania. Jeśli utworzysz kontrolkę użytkownika w czasie projektowania, możesz użyć Projektant Windows Forms do utworzenia interfejsu użytkownika okienka zadań.

Tworzenie wystąpienia niestandardowego okienka zadań

Po utworzeniu kontrolki użytkownika zawierającej interfejs użytkownika niestandardowego okienka zadań należy utworzyć wystąpienie elementu CustomTaskPane. W tym celu przekaż kontrolkę użytkownika do kontrolki CustomTaskPaneCollection w dodatku VSTO, wywołując jedną z Add metod. Ta kolekcja jest uwidoczniona jako CustomTaskPanes pole ThisAddIn klasy. Poniższy przykład kodu ma być uruchamiany z ThisAddIn klasy .

myUserControl1 = new MyUserControl();
myCustomTaskPane = this.CustomTaskPanes.Add(myUserControl1, "My Task Pane");
myCustomTaskPane.Visible = true;

Metody Add zwracają nowy CustomTaskPane obiekt. Tego obiektu można użyć do modyfikowania wyglądu okienka zadań i reagowania na zdarzenia użytkownika.

Kontrolowanie okienka zadań w wielu oknach

Niestandardowe okienka zadań są skojarzone z oknem ramki dokumentu, które przedstawia użytkownikowi widok dokumentu lub elementu. Okienko zadań jest widoczne tylko wtedy, gdy skojarzone okno jest widoczne.

Aby określić, które okno wyświetla niestandardowe okienko zadań, użyj odpowiedniego Add przeciążenia metody podczas tworzenia okienka zadań:

  • Aby skojarzyć okienko zadań z aktywnym oknem, użyj Add metody .

  • Aby skojarzyć okienko zadań z dokumentem hostowanym przez określone okno, użyj Add metody .

    Niektóre aplikacja pakietu Office licacje wymagają jawnych instrukcji dotyczących tego, kiedy należy utworzyć lub wyświetlić okienko zadań po otwarciu więcej niż jednego okna. To sprawia, że ważne jest, aby rozważyć, gdzie utworzyć wystąpienie niestandardowego okienka zadań w kodzie, aby upewnić się, że okienko zadań jest wyświetlane z odpowiednimi dokumentami lub elementami w aplikacji. Aby uzyskać więcej informacji, zobacz Zarządzanie niestandardowymi okienkami zadań w oknach aplikacji.

Uzyskiwanie dostępu do aplikacji z okienka zadań

Jeśli chcesz zautomatyzować aplikację z poziomu kontrolki użytkownika, możesz bezpośrednio uzyskać dostęp do modelu obiektów przy użyciu Globals.ThisAddIn.Application kodu. Klasa statyczna Globals zapewnia dostęp do ThisAddIn obiektu. Pole Application tego obiektu jest punktem wejścia do modelu obiektów aplikacji.

Aby uzyskać więcej informacji na temat Application pola ThisAddIn obiektu, zobacz Program VSTO Add-ins (Dodatki programu VSTO). Aby zapoznać się z przewodnikiem, który pokazuje, jak zautomatyzować aplikację z niestandardowego okienka zadań, zobacz Przewodnik: automatyczna aplikacja z niestandardowego okienka zadań. Aby uzyskać więcej informacji na temat Globals klasy, zobacz Globalny dostęp do obiektów w projektach pakietu Office.

Zarządzanie interfejsem użytkownika okienka zadań

Po utworzeniu okienka zadań można użyć właściwości i zdarzeń CustomTaskPane obiektu, aby kontrolować interfejs użytkownika okienka zadań i reagować, gdy użytkownik zmieni okienko zadań.

Uwidocznij niestandardowe okienko zadań

Domyślnie okienko zadań nie jest widoczne. Aby okienko zadań było widoczne, należy ustawić Visible właściwość na true.

Użytkownicy mogą zamknąć okienko zadań w dowolnym momencie, klikając przycisk Zamknij (X) w rogu okienka zadań. Nie ma jednak domyślnego sposobu otwierania niestandardowego okienka zadań przez użytkowników. Jeśli użytkownik zamknie niestandardowe okienko zadań, ten użytkownik nie będzie mógł ponownie wyświetlić niestandardowego okienka zadań, chyba że udostępnisz sposób jego wyświetlania.

Jeśli utworzysz niestandardowe okienko zadań w dodatku VSTO, należy również utworzyć element interfejsu użytkownika, taki jak przycisk, który użytkownicy mogą kliknąć, aby wyświetlić lub ukryć niestandardowe okienko zadań. Jeśli utworzysz niestandardowe okienko zadań w aplikacja pakietu Office licacji firmy Microsoft, które obsługuje dostosowywanie wstążki, możesz dodać grupę kontrolek do wstążki za pomocą przycisku, który wyświetla lub ukrywa niestandardowe okienko zadań. Aby zapoznać się z przewodnikiem, który pokazuje, jak to zrobić, zobacz Przewodnik: Synchronizowanie niestandardowego okienka zadań z przyciskiem wstążki.

Jeśli utworzysz niestandardowe okienko zadań w aplikacja pakietu Office licacji firmy Microsoft, które nie obsługuje dostosowywania wstążki, możesz dodać kontrolkę CommandBarButton wyświetlającą lub ukrywającą niestandardowe okienko zadań.

Modyfikowanie wyglądu okienka zadań

Rozmiar i lokalizacja niestandardowego okienka zadań można kontrolować przy użyciu właściwości CustomTaskPane obiektu. Możesz wprowadzić wiele innych zmian w wyglądzie niestandardowego okienka zadań przy użyciu właściwości UserControl obiektu znajdującego się w niestandardowym okienku zadań. Na przykład można określić obraz tła dla niestandardowego okienka zadań przy użyciu BackgroundImage właściwości kontrolki użytkownika.

W poniższej tabeli wymieniono zmiany, które można wprowadzić w niestandardowym okienku zadań przy użyciu CustomTaskPane właściwości.

Zadanie Właściwości
Aby zmienić rozmiar okienka zadań Height

Width
Aby zmienić lokalizację okienka zadań DockPosition
Aby ukryć okienko zadań lub uwidocznić je Visible
Aby uniemożliwić użytkownikowi zmianę lokalizacji okienka zadań DockPositionRestrict

Program niestandardowe zdarzenia okienka zadań

Możesz chcieć, aby dodatek VSTO odpowiadał, gdy użytkownik modyfikuje niestandardowe okienko zadań. Jeśli na przykład użytkownik zmieni orientację okienka z pionowego na poziomy, możesz zmienić położenie kontrolek.

W poniższej tabeli wymieniono zdarzenia, które można obsłużyć w celu reagowania na zmiany wprowadzone przez użytkownika w niestandardowym okienku zadań.

Zadanie Wydarzenie
Aby odpowiedzieć, gdy użytkownik zmieni lokalizację okienka zadań. DockPositionChanged
Aby odpowiedzieć, gdy użytkownik ukrywa okienko zadań lub sprawia, że jest widoczny. VisibleChanged

Czyszczenie zasobów używanych przez okienko zadań

Po utworzeniu niestandardowego okienka CustomTaskPane zadań obiekt pozostaje w pamięci, o ile dodatek VSTO jest uruchomiony. Obiekt pozostaje w pamięci nawet po kliknięciu przycisku Zamknij (X) w rogu okienka zadań.

Aby wyczyścić zasoby używane przez okienko zadań, gdy dodatek VSTO jest nadal uruchomiony, użyj Remove metod lub RemoveAt . Te metody usuwają określony CustomTaskPane obiekt z CustomTaskPanes kolekcji i nazywają metodę Dispose obiektu.

Środowisko uruchomieniowe Visual Studio Tools dla pakietu Office automatycznie czyści zasoby używane przez niestandardowe okienko zadań, gdy dodatek VSTO zostanie zwolniony. Nie należy wywoływać Remove metod lub RemoveAt w procedurze ThisAddIn_Shutdown obsługi zdarzeń w projekcie. Te metody będą zgłaszać wyjątek ObjectDisposedException, ponieważ środowisko uruchomieniowe Visual Studio Tools dla pakietu Office czyści zasoby używane przez CustomTaskPane obiekt przed ThisAddIn_Shutdown wywołaniem. Aby uzyskać więcej informacji na temat ThisAddIn_Shutdownprogramu , zobacz Zdarzenia w projektach pakietu Office.

Zarządzanie niestandardowymi okienkami zadań w wielu oknach aplikacji

Podczas tworzenia niestandardowego okienka zadań w aplikacji, która używa wielu okien do wyświetlania dokumentów i innych elementów, należy wykonać dodatkowe kroki, aby upewnić się, że okienko zadań jest widoczne, gdy użytkownik oczekuje, że będzie.

Niestandardowe okienka zadań we wszystkich aplikacjach są skojarzone z oknem ramki dokumentu, które przedstawia użytkownikowi widok dokumentu lub elementu. Okienko zadań jest widoczne tylko wtedy, gdy skojarzone okno jest widoczne. Jednak nie wszystkie aplikacje używają okien ramek dokumentów w taki sam sposób.

Następujące grupy aplikacji mają różne wymagania programistyczne:

Outlook

Podczas tworzenia niestandardowego okienka zadań dla programu Outlook niestandardowe okienko zadań jest skojarzone z określonym oknem Eksploratora lub Inspektora. Eksploratory to okna, które wyświetlają zawartość folderu, a Inspektorzy to okna, które wyświetlają element, taki jak wiadomość e-mail lub zadanie.

Jeśli chcesz wyświetlić niestandardowe okienko zadań z wieloma oknami Eksploratora lub Inspektora, musisz utworzyć nowe wystąpienie niestandardowego okienka zadań po otwarciu okna Eksploratora lub Inspektora. W tym celu obsłuż zdarzenie zgłaszane podczas tworzenia okna Eksploratora lub Inspektora, a następnie utwórz okienko zadań w procedurze obsługi zdarzeń. Można również obsługiwać zdarzenia Eksploratora i Inspektora, aby ukryć lub wyświetlić okienka zadań w zależności od tego, które okno jest widoczne.

Aby skojarzyć okienko zadań z określonym Eksploratorem lub Inspektorem, użyj Add metody , aby utworzyć okienko zadań i przekazać Explorer obiekt or Inspector do parametru okna . Aby uzyskać więcej informacji na temat tworzenia niestandardowych okienek zadań, zobacz Niestandardowe okienka zadań — omówienie.

Zapobieganie wielu wystąpieniom niestandardowego okienka zadań w programie Outlook

Aby uniemożliwić wyświetlanie wielu wystąpień niestandardowego okienka zadań w programie Outlook, jawnie usuń niestandardowe okienko zadań z CustomTaskPanes kolekcji ThisAddIn klasy po zamknięciu każdego okna. Wywołaj metodę Remove w zdarzeniu, które jest wywoływane po zamknięciu okna, takiego jak Close lub Close.

Jeśli nie usuniesz jawnie niestandardowego okienka zadań, okna programu Outlook mogą wyświetlać wiele wystąpień niestandardowego okienka zadań. Program Outlook czasami przetwarza okna, a okna z recyklingu zachowują odwołania do dowolnych niestandardowych okien zadań, które zostały do nich dołączone.

Word, InfoPath i PowerPoint

Programy Word, InfoPath i PowerPoint wyświetlają każdy dokument w innym oknie ramki dokumentu. Podczas tworzenia niestandardowego okienka zadań dla tych aplikacji niestandardowe okienko zadań jest skojarzone tylko z określonym dokumentem. Jeśli użytkownik otworzy inny dokument, niestandardowe okienko zadań zostanie ukryte, dopóki wcześniejszy dokument nie zostanie ponownie widoczny.

Jeśli chcesz wyświetlić niestandardowe okienko zadań z wieloma dokumentami, utwórz nowe wystąpienie niestandardowego okienka zadań, gdy użytkownik utworzy nowy dokument lub otworzy istniejący dokument. W tym celu należy obsługiwać zdarzenia zgłaszane podczas tworzenia lub otwierania dokumentu, a następnie tworzenia okienka zadań w programach obsługi zdarzeń. Można również obsługiwać zdarzenia dokumentu, aby ukryć lub wyświetlić okienka zadań w zależności od tego, który dokument jest widoczny.

Aby skojarzyć okienko zadań z określonym oknem dokumentu, użyj Add metody , aby utworzyć okienko zadań i przekazać Window (dla programu Word), WindowObject (dla programu InfoPath) lub DocumentWindow (dla programu PowerPoint) do parametru okna .

Zdarzenia programu Word

Aby monitorować stan okien dokumentów w programie Word, można obsłużyć następujące zdarzenia:

Zdarzenia programu InfoPath

Aby monitorować stan okien dokumentów w programie InfoPath, można obsłużyć następujące zdarzenia:

Zdarzenia programu PowerPoint

Aby monitorować stan okien dokumentów w programie PowerPoint, można obsłużyć następujące zdarzenia: