Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Taakvensters zijn gebruikersinterfacevensters die doorgaans aan één zijde van een venster in een Microsoft Office-toepassing zijn gekoppeld. Aangepaste taakvensters bieden u een manier om uw eigen taakvenster te maken en gebruikers een vertrouwde interface te bieden voor toegang tot de functies van uw oplossing. De interface kan bijvoorbeeld besturingselementen bevatten waarmee code wordt uitgevoerd om documenten te wijzigen of gegevens uit een gegevensbron weer te geven.
Van toepassing op: De informatie in dit onderwerp is van toepassing op VSTO-invoegtoepassingsprojecten voor Outlook. Zie Functies die beschikbaar zijn voor de Office-toepassing en het projecttype voor meer informatie.
Opmerking
Een aangepast taakvenster verschilt van het deelvenster Acties. Het deelvenster Acties maakt deel uit van aanpassingen op documentniveau voor Microsoft Office Word en Microsoft Office Excel. Zie het overzicht van het deelvenster Acties voor meer informatie.
Voordelen van aangepaste taakvensters
Met aangepaste taakvensters kunt u uw functies integreren in een vertrouwde gebruikersinterface. U kunt snel een aangepast taakvenster maken met behulp van Visual Studio-hulpprogramma's.
Vertrouwde gebruikersinterface
Gebruikers van toepassingen in het Microsoft Office-systeem zijn al bekend met het gebruik van taakvensters, zoals het taakvenster Stijlen en Opmaak in Word. Aangepaste taakvensters gedragen zich als andere taakvensters in het Microsoft Office-systeem. Gebruikers kunnen aangepaste taakvensters aan verschillende zijden van het toepassingsvenster koppelen of aangepaste taakvensters naar elke locatie in het venster slepen. U kunt een VSTO-invoegtoepassing maken waarin meerdere aangepaste taakvensters tegelijk worden weergegeven en gebruikers kunnen elk taakvenster afzonderlijk beheren.
Ondersteuning voor Windows-formulieren
De gebruikersinterface van een aangepast taakvenster dat u maakt met de Office-ontwikkelhulpprogramma's in Visual Studio, is gebaseerd op Besturingselementen van Windows Forms. U kunt de vertrouwde Windows Forms Designer gebruiken om de gebruikersinterface voor een aangepast taakvenster te ontwerpen. U kunt ook de ondersteuning voor gegevensbinding in Windows Forms gebruiken om een gegevensbron te binden aan besturingselementen in het taakvenster.
Een aangepast taakvenster maken
U kunt in twee stappen een eenvoudig aangepast taakvenster maken:
Maak een gebruikersinterface voor uw aangepaste taakvenster door Besturingselementen van Windows Forms toe te voegen aan een UserControl object.
Instantieer het aangepaste taakvenster door het gebruikersbesturingselement door te geven aan het CustomTaskPaneCollection object in uw VSTO-invoegtoepassing. Deze verzameling retourneert een nieuw CustomTaskPane object dat u kunt gebruiken om het uiterlijk van het taakvenster te wijzigen en te reageren op gebruikersevenementen.
Zie Procedure: Een aangepast taakvenster toevoegen aan een toepassing voor meer informatie.
De gebruikersinterface maken
Alle aangepaste taakvensters die worden gemaakt met de Office-ontwikkelhulpprogramma's in Visual Studio, bevatten een UserControl object. Dit gebruikersbeheer biedt de gebruikersinterface van uw aangepaste taakvenster. U kunt het gebruikersbesturingselement maken tijdens het ontwerpen of uitvoeren. Als u het gebruikersbeheer tijdens het ontwerp maakt, kunt u de Windows Forms Designer gebruiken om de gebruikersinterface van het taakvenster samen te stellen.
Het aangepaste taakvenster instantiëren
Nadat u een gebruikersbeheer hebt gemaakt dat de gebruikersinterface van het aangepaste taakvenster bevat, moet u een CustomTaskPaneinstantie maken. Hiervoor geeft u het gebruikersbesturingselement door aan de CustomTaskPaneCollection VSTO-invoegtoepassing door een van de Add methoden aan te roepen. Deze verzameling wordt weergegeven als het CustomTaskPanes veld van de ThisAddIn klasse. Het volgende codevoorbeeld is bedoeld om uit de ThisAddIn klasse te worden uitgevoerd.
myUserControl1 = new MyUserControl();
myCustomTaskPane = this.CustomTaskPanes.Add(myUserControl1, "My Task Pane");
myCustomTaskPane.Visible = true;
De Add methoden retourneren een nieuw CustomTaskPane object. U kunt dit object gebruiken om het uiterlijk van het taakvenster te wijzigen en te reageren op gebruikersevenementen.
Het taakvenster in meerdere vensters beheren
Aangepaste taakvensters zijn gekoppeld aan een venster voor documentframes, waarin een weergave van een document of item aan de gebruiker wordt weergegeven. Het taakvenster is alleen zichtbaar wanneer het bijbehorende venster zichtbaar is.
Als u wilt bepalen welk venster het aangepaste taakvenster weergeeft, gebruik dan de juiste methodeoverlading wanneer u het taakvenster maakt.
Als u het taakvenster wilt koppelen aan het actieve venster, gebruikt u de Add methode.
Als u het taakvenster wilt koppelen aan een document dat wordt gehost door een opgegeven venster, gebruikt u de Add methode.
Voor sommige Office-toepassingen zijn expliciete instructies vereist voor het maken of weergeven van het taakvenster wanneer meer dan één venster is geopend. Dit maakt het belangrijk om na te gaan waar u het aangepaste taakvenster in uw code moet instantiëren om ervoor te zorgen dat het taakvenster wordt weergegeven met de juiste documenten of items in de toepassing. Zie Aangepaste taakvensters beheren in toepassingsvensters voor meer informatie.
Toegang tot de toepassing vanuit het taakvenster
Als u de toepassing wilt automatiseren vanuit het gebruikersbeheer, hebt u rechtstreeks toegang tot het objectmodel met behulp van Globals.ThisAddIn.Application uw code. De statische Globals klasse biedt toegang tot het ThisAddIn object. Het Application veld van dit object is het toegangspunt in het objectmodel van de toepassing.
Zie Application voor meer informatie over het ThisAddIn veld van het object. Zie Stapsgewijze instructies voor het automatiseren van een toepassing vanuit een aangepast taakvenster: Een toepassing automatisch uitvoeren vanuit een aangepast taakvenster. Zie Globals voor meer informatie over de klasse.
De gebruikersinterface van het taakvenster beheren
Nadat u het taakvenster hebt gemaakt, kunt u eigenschappen en gebeurtenissen van het CustomTaskPane object gebruiken om de gebruikersinterface van het taakvenster te beheren en te reageren wanneer de gebruiker het taakvenster wijzigt.
Het aangepaste taakvenster zichtbaar maken
Het taakvenster is standaard niet zichtbaar. Als u het taakvenster zichtbaar wilt maken, moet u de Visible eigenschap instellen op true.
Gebruikers kunnen een taakvenster op elk gewenst moment sluiten door op de knop Sluiten (X) in de hoek van het taakvenster te klikken. Gebruikers kunnen het aangepaste taakvenster echter niet opnieuw openen. Als een gebruiker een aangepast taakvenster sluit, kan die gebruiker het aangepaste taakvenster niet opnieuw weergeven, tenzij u een manier opgeeft om het weer te geven.
Als u een aangepast taakvenster in uw VSTO-invoegtoepassing maakt, moet u ook een UI-element maken, zoals een knop, waarop gebruikers kunnen klikken om uw aangepaste taakvenster weer te geven of te verbergen. Als u een aangepast taakvenster maakt in een Microsoft Office-toepassing die ondersteuning biedt voor het aanpassen van het lint, kunt u een besturingsgroep toevoegen aan het lint met een knop die uw aangepaste taakvenster weergeeft of verbergt. Zie Walkthrough: Een aangepast taakvenster synchroniseren met een lintknop voor een overzicht van hoe u dit doet.
Als u een aangepast taakvenster maakt in een Microsoft Office-toepassing die geen ondersteuning biedt voor het aanpassen van het lint, kunt u een CommandBarButton taakvenster toevoegen dat uw aangepaste taakvenster weergeeft of verbergt.
Het uiterlijk van het taakvenster wijzigen
U kunt de grootte en locatie van een aangepast taakvenster beheren met behulp van eigenschappen van het CustomTaskPane object. U kunt veel andere wijzigingen aanbrengen in het uiterlijk van een aangepast taakvenster met behulp van eigenschappen van het UserControl object dat is opgenomen in het aangepaste taakvenster. U kunt bijvoorbeeld een achtergrondafbeelding voor een aangepast taakvenster opgeven met behulp van de BackgroundImage eigenschap van het gebruikersbesturingselement.
De volgende tabel bevat de wijzigingen die u in een aangepast taakvenster kunt aanbrengen met behulp van CustomTaskPane eigenschappen.
| Opdracht | Vastgoed |
|---|---|
| De grootte van het taakvenster wijzigen | Height Width |
| De locatie van het taakvenster wijzigen | DockPosition |
| Het taakvenster verbergen of zichtbaar maken | Visible |
| Voorkomen dat de gebruiker de locatie van het taakvenster wijzigt | DockPositionRestrict |
Gebeurtenissen in aangepast taakvenster programmeren
Mogelijk wilt u dat uw VSTO-invoegtoepassing reageert wanneer de gebruiker het aangepaste taakvenster wijzigt. Als de gebruiker bijvoorbeeld de oriëntatie van het deelvenster wijzigt van verticaal naar horizontaal, kunt u de bedieningselementen opnieuw positioneren.
De volgende tabel bevat de gebeurtenissen die u kunt afhandelen om te reageren op wijzigingen die de gebruiker aanbrengt in het aangepaste taakvenster.
| Opdracht | Event |
|---|---|
| Reageren wanneer de gebruiker de locatie van het taakvenster wijzigt. | DockPositionChanged |
| Reageren wanneer de gebruiker het taakvenster verbergt of zichtbaar maakt. | VisibleChanged |
Maak de resources die door het taakvenster worden gebruikt schoon
Nadat u een aangepast taakvenster hebt gemaakt, blijft het object in het CustomTaskPane geheugen zolang uw VSTO-invoegtoepassing wordt uitgevoerd. Het object blijft in het geheugen, zelfs nadat de gebruiker op de knop Sluiten (X) in de hoek van het taakvenster klikt.
Als u resources wilt opschonen die worden gebruikt door het taakvenster terwijl de VSTO-invoegtoepassing nog steeds wordt uitgevoerd, gebruikt u de Remove of RemoveAt methoden. Met deze methoden wordt het opgegeven CustomTaskPane object uit de CustomTaskPanes verzameling verwijderd en worden de Dispose methode van het object aangeroepen.
Visual Studio Tools voor Office Runtime ruimt automatisch de resources op die worden gebruikt door het aangepaste taakvenster wanneer de VSTO-invoegtoepassing wordt uitgeschakeld. Roep de Remove of RemoveAt methoden niet aan in de ThisAddIn_Shutdown gebeurtenis-handler in uw project. Met deze methoden wordt een ObjectDisposedException gegooid, omdat de Visual Studio Tools voor Office-runtime de resources die door het CustomTaskPane object worden gebruikt, opruimt voordat ThisAddIn_Shutdown wordt aangeroepen. Zie ThisAddIn_Shutdown voor meer informatie.
Aangepaste taakvensters beheren in meerdere toepassingsvensters
Wanneer u een aangepast taakvenster maakt in een toepassing die gebruikmaakt van meerdere vensters om documenten en andere items weer te geven, moet u extra stappen uitvoeren om ervoor te zorgen dat het taakvenster zichtbaar is wanneer de gebruiker verwacht dat dit is.
Aangepaste taakvensters in alle toepassingen zijn gekoppeld aan een venster met een documentframe, waarin een weergave van een document of item aan de gebruiker wordt weergegeven. Het taakvenster is alleen zichtbaar wanneer het bijbehorende venster zichtbaar is. Niet alle toepassingen maken echter gebruik van documentframevensters op dezelfde manier.
De volgende toepassingsgroepen hebben verschillende ontwikkelvereisten:
Vooruitzicht
Wanneer u een aangepast taakvenster voor Outlook maakt, wordt het aangepaste taakvenster gekoppeld aan een specifiek Explorer- of Inspector-venster. Verkenners zijn vensters die de inhoud van een map weergeven en Inspectors zijn vensters die een item weergeven, zoals een e-mailbericht of een taak.
Als u een aangepast taakvenster met meerdere Verkenner- of Inspector-vensters wilt weergeven, moet u een nieuw exemplaar van het aangepaste taakvenster maken wanneer een Verkenner- of Inspector-venster wordt geopend. U doet dit door een gebeurtenis af te handelen die wordt gegenereerd wanneer er een Explorer- of Inspector-venster wordt gemaakt en vervolgens het taakvenster in de gebeurtenis-handler te maken. U kunt ook Explorer- en Inspector-gebeurtenissen afhandelen om taakvensters te verbergen of weer te geven, afhankelijk van welk venster zichtbaar is.
Als u het taakvenster wilt koppelen aan een specifieke Explorer of Inspector, gebruikt u de Add methode om het taakvenster te maken en geeft u het Explorer of Inspector object door aan de vensterparameter . Zie het overzicht van aangepaste taakvensters voor meer informatie over het maken van aangepaste taakvensters.
-
Als u de status van Inspector-vensters wilt bewaken, kunt u de volgende gebeurtenissen met betrekking tot Inspector afhandelen:
Voorkomen dat meerdere exemplaren van een aangepast taakvenster in Outlook worden weergegeven
Als u wilt voorkomen dat in Outlook meerdere exemplaren van een aangepast taakvenster worden weergegeven, verwijdert u het aangepaste taakvenster expliciet uit de CustomTaskPanes verzameling van de ThisAddIn klasse wanneer elk venster wordt gesloten. Roep de Remove methode aan in een gebeurtenis die wordt gegenereerd wanneer een venster wordt gesloten, zoals Close of Close.
Als u het aangepaste taakvenster niet expliciet verwijdert, worden in Outlook-vensters mogelijk meerdere exemplaren van het aangepaste taakvenster weergegeven. Outlook recyclet soms vensters en gerecyclede vensters behouden verwijzingen naar aangepaste taakvensters die eraan zijn gekoppeld.
Word, InfoPath en PowerPoint
In Word, InfoPath en PowerPoint worden elk document in een ander venster met documentframes weergegeven. Wanneer u een aangepast taakvenster voor deze toepassingen maakt, wordt het aangepaste taakvenster alleen gekoppeld aan een specifiek document. Als de gebruiker een ander document opent, wordt het aangepaste taakvenster verborgen totdat het eerdere document weer zichtbaar is.
Als u een aangepast taakvenster met meerdere documenten wilt weergeven, maakt u een nieuw exemplaar van het aangepaste taakvenster wanneer de gebruiker een nieuw document maakt of een bestaand document opent. Dit doet u door de gebeurtenissen af te handelen die worden gegenereerd wanneer een document wordt gemaakt of geopend en vervolgens het taakvenster te maken binnen de gebeurtenisafhandelaars. U kunt documentevenementen ook afhandelen om taakvensters te verbergen of weer te geven, afhankelijk van welk document zichtbaar is.
Als u het taakvenster wilt koppelen aan een specifiek documentvenster, gebruikt u de Add methode om het taakvenster te maken en een Window (voor Word), WindowObject (voor InfoPath) of DocumentWindow (voor PowerPoint) door te geven aan de vensterparameter .
Word-gebeurtenissen
Als u de status van documentvensters in Word wilt bewaken, kunt u de volgende gebeurtenissen afhandelen:
InfoPath-gebeurtenissen
Als u de status van documentvensters in InfoPath wilt bewaken, kunt u de volgende gebeurtenissen afhandelen:
PowerPoint-gebeurtenissen
Als u de status van documentvensters in PowerPoint wilt bewaken, kunt u de volgende gebeurtenissen afhandelen:
Microsoft.Office.Interop.PowerPoint.EApplication_Event.AfterNewPresentation
Microsoft.Office.Interop.PowerPoint.EApplication_Event.AfterPresentationOpen
Microsoft.Office.Interop.PowerPoint.EApplication_Event.NewPresentation
Microsoft.Office.Interop.PowerPoint.EApplication_Event.PresentationOpen
Microsoft.Office.Interop.PowerPoint.EApplication_Event.WindowActivate
Microsoft.Office.Interop.PowerPoint.EApplication_Event.WindowDeactivate