Dela via


Anpassade åtgärdsfönster

Åtgärdsfönster är användargränssnittspaneler som vanligtvis dockas till ena sidan av ett fönster i ett Microsoft Office-program. Med anpassade åtgärdsfönster kan du skapa ett eget åtgärdsfönster och ge användarna ett välbekant gränssnitt för att få åtkomst till lösningens funktioner. Gränssnittet kan till exempel innehålla kontroller som kör kod för att ändra dokument eller visa data från en datakälla.

Gäller för: Informationen i det här avsnittet gäller för VSTO-tilläggsprojekt för Outlook. Mer information finns i Funktioner som är tillgängliga efter Office-program och projekttyp.

Anmärkning

Ett anpassat åtgärdsfönster skiljer sig från åtgärdsfönstret. Åtgärdsfönstret är en del av anpassningar på dokumentnivå för Microsoft Office Word och Microsoft Office Excel. Mer information finns i Översikt över åtgärdsfönstret.

Fördelar med anpassade åtgärdsfönster

Med anpassade åtgärdsfönster kan du integrera dina funktioner i ett välbekant användargränssnitt. Du kan snabbt skapa ett anpassat åtgärdsfönster med hjälp av Visual Studio-verktyg.

Välbekant användargränssnitt

Användare av program i Microsoft Office-systemet är redan bekanta med att använda åtgärdsfönster, till exempel åtgärdsfönstret Format och formatering i Word. Anpassade åtgärdsfönster fungerar som andra åtgärdsfönster i Microsoft Office-systemet. Användare kan docka anpassade åtgärdsfönster till olika sidor av programfönstret eller dra anpassade åtgärdsfönster till valfri plats i fönstret. Du kan skapa ett VSTO-tillägg som visar flera anpassade åtgärdsfönster samtidigt, och användarna kan styra varje åtgärdsfönster individuellt.

Stöd för Windows-formulär

Användargränssnittet för ett anpassat åtgärdsfönster som du skapar med hjälp av Office-utvecklingsverktygen i Visual Studio baseras på Windows Forms-kontroller. Du kan använda den välbekanta Windows Forms Designer för att utforma användargränssnittet för ett anpassat åtgärdsfönster. Du kan också använda stöd för databindning i Windows Forms för att binda en datakälla till kontroller i åtgärdsfönstret.

Skapa ett anpassat åtgärdsfönster

Du kan skapa ett grundläggande anpassat åtgärdsfönster i två steg:

  1. Skapa ett användargränssnitt för ditt anpassade åtgärdsfönster genom att lägga till Windows Forms-kontroller i ett UserControl objekt.

  2. Instansiera det anpassade åtgärdsfönstret genom att skicka användarkontrollen till CustomTaskPaneCollection objektet i ditt VSTO-tillägg. Den här samlingen returnerar ett nytt CustomTaskPane objekt som du kan använda för att ändra utseendet på åtgärdsfönstret och svara på användarhändelser.

    Mer information finns i Så här lägger du till ett anpassat åtgärdsfönster i ett program.

Skapa användargränssnittet

Alla anpassade åtgärdsfönster som skapas med hjälp av Office-utvecklingsverktygen i Visual Studio innehåller ett UserControl objekt. Den här användarkontrollen tillhandahåller användargränssnittet för ditt anpassade åtgärdsfönster. Du kan skapa användarkontrollen vid designtillfället eller vid körtid. Om du skapar användarkontrollen vid designtillfället kan du använda Windows Forms Designer för att konstruera användargränssnittet i åtgärdsfönstret.

Instansiera det anpassade åtgärdsfönstret

När du har skapat en användarkontroll som innehåller användargränssnittet i det anpassade åtgärdsfönstret måste du instansiera en CustomTaskPane. Det gör du genom att skicka användarkontrollen till CustomTaskPaneCollection i DITT VSTO-tillägg genom att anropa någon av Add metoderna. Den här samlingen exponeras som fältet CustomTaskPanes för ThisAddIn klassen. Följande kodexempel är avsett att köras från ThisAddIn klassen.

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

Metoderna Add returnerar ett nytt CustomTaskPane objekt. Du kan använda det här objektet för att ändra utseendet på åtgärdsfönstret och för att svara på användarhändelser.

Kontrollera åtgärdsfönstret i flera fönster

Anpassade åtgärdsfönster är associerade med ett dokumentramfönster som visar en vy över ett dokument eller objekt för användaren. Åtgärdsfönstret visas bara när det associerade fönstret är synligt.

Om du vill ta reda på vilket fönster som visar det anpassade åtgärdsfönstret använder du lämplig Add metodöverlagring när du skapar åtgärdsfönstret:

  • Använd metoden för att associera åtgärdsfönstret med det aktiva fönstret Add .

  • Om du vill associera åtgärdsfönstret med ett dokument som hanteras av ett angivet fönster använder du Add metoden .

    Vissa Office-program kräver explicita instruktioner för när du ska skapa eller visa åtgärdsfönstret när fler än ett fönster är öppet. Detta gör det viktigt att överväga var du instansierar det anpassade åtgärdsfönstret i koden för att säkerställa att åtgärdsfönstret visas med lämpliga dokument eller objekt i programmet. Mer information finns i Hantera anpassade åtgärdsfönster i programfönster.

Få åtkomst till programmet från åtgärdsfönstret

Om du vill automatisera programmet från användarkontrollen kan du komma åt objektmodellen direkt med hjälp Globals.ThisAddIn.Application av koden. Den statiska Globals klassen ger åtkomst till objektet ThisAddIn . Fältet Application för det här objektet är startpunkten i programmets objektmodell.

Mer information om objektets ApplicationThisAddIn fält finns i Program VSTO-tillägg. En genomgång som visar hur du automatiserar ett program från ett anpassat åtgärdsfönster finns i Genomgång: Automatisk ett program från ett anpassat åtgärdsfönster. Mer information om klassen finns i GlobalsGlobal åtkomst till objekt i Office-projekt.

Hantera användargränssnittet i åtgärdsfönstret

När du har skapat åtgärdsfönstret kan du använda egenskaper och händelser CustomTaskPane för objektet för att styra användargränssnittet i åtgärdsfönstret och svara när användaren ändrar åtgärdsfönstret.

Gör det anpassade åtgärdsfönstret synligt

Som standard visas inte åtgärdsfönstret. Om du vill göra åtgärdsfönstret synligt måste du ange egenskapen Visible till true.

Användare kan stänga ett åtgärdsfönster när som helst genom att klicka på knappen Stäng (X) i hörnet av åtgärdsfönstret. Det finns dock inget standardsätt för användare att öppna det anpassade åtgärdsfönstret igen. Om en användare stänger ett anpassat åtgärdsfönster kan användaren inte visa det anpassade åtgärdsfönstret igen om du inte anger ett sätt att visa det.

Om du skapar ett anpassat åtgärdsfönster i ditt VSTO-tillägg bör du också skapa ett användargränssnittselement, till exempel en knapp, som användarna kan klicka på för att visa eller dölja ditt anpassade åtgärdsfönster. Om du skapar ett anpassat åtgärdsfönster i ett Microsoft Office-program som stöder anpassning av menyfliksområdet kan du lägga till en kontrollgrupp i menyfliksområdet med en knapp som visar eller döljer ditt anpassade åtgärdsfönster. En genomgång som visar hur du gör detta finns i Genomgång: Synkronisera ett anpassat åtgärdsfönster med en menyfliksknapp.

Om du skapar ett anpassat åtgärdsfönster i ett Microsoft Office-program som inte stöder anpassning av menyfliksområdet kan du lägga till en CommandBarButton som visar eller döljer ditt anpassade åtgärdsfönster.

Ändra utseendet på åtgärdsfönstret

Du kan styra storleken och platsen för ett anpassat åtgärdsfönster med hjälp av objektets CustomTaskPane egenskaper. Du kan göra många andra ändringar i utseendet på ett anpassat åtgärdsfönster med hjälp av egenskaperna för objektet UserControl som finns i det anpassade åtgärdsfönstret. Du kan till exempel ange en bakgrundsbild för ett anpassat åtgärdsfönster med hjälp BackgroundImage av egenskapen för användarkontrollen.

I följande tabell visas de ändringar du kan göra i ett anpassat åtgärdsfönster med hjälp CustomTaskPane av egenskaper.

Task Fastighet
Ändra storleken på åtgärdsfönstret Height

Width
Ändra platsen för åtgärdsfönstret DockPosition
Så här döljer du åtgärdsfönstret eller gör det synligt Visible
Förhindra att användaren ändrar platsen för åtgärdsfönstret DockPositionRestrict

Programanpassade händelser i åtgärdsfönstret

Du kanske vill att DITT VSTO-tillägg ska svara när användaren ändrar det anpassade åtgärdsfönstret. Om användaren till exempel ändrar orienteringen för fönstret från lodrätt till vågrätt, kanske du vill flytta kontrollerna.

I följande tabell visas de händelser som du kan hantera för att svara på ändringar som användaren gör i det anpassade åtgärdsfönstret.

Task Event
Så här svarar du när användaren ändrar platsen för åtgärdsfönstret. DockPositionChanged
Svara när användaren döljer åtgärdsfönstret eller gör det synligt. VisibleChanged

Rensa resurser som används av åtgärdsfönstret

När du har skapat ett anpassat åtgärdsfönster CustomTaskPane finns objektet kvar i minnet så länge vsto-tillägget körs. Objektet finns kvar i minnet även efter att användaren har klickat på knappen Stäng (X) i hörnet av åtgärdsfönstret.

Om du vill rensa resurser som används av åtgärdsfönstret medan VSTO-tillägget fortfarande körs använder du Remove metoderna eller RemoveAt . De här metoderna tar bort det angivna CustomTaskPane objektet från CustomTaskPanes samlingen och anropar Dispose -metoden för objektet.

Visual Studio Tools för Office-körmiljö rensar automatiskt upp resurser som används av det anpassade åtgärdsfönstret när VSTO-tillägget avladdas. Anropa inte metoderna Remove eller RemoveAt i ThisAddIn_Shutdown-händelsehanteraren i projektet. Dessa metoder genererar en ObjectDisposedException, eftersom Visual Studio Tools for Office-körning rensar resurser som används av CustomTaskPane objektet innan ThisAddIn_Shutdown anropas. För mer information om ThisAddIn_Shutdown, se Händelser i Office-projekt.

Hantera anpassade åtgärdsfönster i flera programfönster

När du skapar ett anpassat åtgärdsfönster i ett program som använder flera fönster för att visa dokument och andra objekt måste du vidta extra åtgärder för att säkerställa att åtgärdsfönstret visas när användaren förväntar sig att det ska vara det.

Anpassade åtgärdsfönster i alla program är associerade med ett dokumentramfönster som visar en vy över ett dokument eller objekt för användaren. Åtgärdsfönstret visas bara när det associerade fönstret är synligt. Men inte alla program använder dokumentramfönster på samma sätt.

Följande programgrupper har olika utvecklingskrav:

Framtidsutsikt

När du skapar ett anpassat åtgärdsfönster för Outlook associeras det anpassade åtgärdsfönstret med ett specifikt Explorer- eller Inspector-fönster. Utforskaren är fönster som visar innehållet i en mapp, och Inspektörer är fönster som visar ett objekt, till exempel ett e-postmeddelande eller en uppgift.

Om du vill visa ett anpassat åtgärdsfönster med flera Explorer- eller Inspector-fönster måste du skapa en ny instans av det anpassade åtgärdsfönstret när ett Explorer- eller Inspector-fönster öppnas. Det gör du genom att hantera en händelse som utlöses när ett Explorer- eller Inspector-fönster skapas och sedan skapar åtgärdsfönstret i händelsehanteraren. Du kan också hantera Explorer- och Inspector-händelser för att dölja eller visa åtgärdsfönster beroende på vilket fönster som visas.

Om du vill associera åtgärdsfönstret med en specifik Utforskare eller Inspector använder du Add metoden för att skapa åtgärdsfönstret och skickar Explorer objektet eller Inspector till fönsterparametern . Mer information om hur du skapar anpassade åtgärdsfönster finns i Översikt över anpassade åtgärdsfönster.

Förhindra flera instanser av ett anpassat åtgärdsfönster i Outlook

Om du vill förhindra att Outlook-fönster visar flera instanser av ett anpassat åtgärdsfönster tar du uttryckligen bort det anpassade åtgärdsfönstret från CustomTaskPanes samlingen av ThisAddIn klassen när varje fönster stängs. Remove Anropa metoden i en händelse som aktiveras när ett fönster stängs, till exempel Close eller Close.

Om du inte uttryckligen tar bort det anpassade åtgärdsfönstret kan Outlook-fönster visa flera instanser av det anpassade åtgärdsfönstret. Outlook återanvänder ibland fönster och återanvända fönster behåller referenser till alla anpassade åtgärdsfönster som har kopplats till dem.

Word, InfoPath och PowerPoint

Word, InfoPath och PowerPoint visar varje dokument i ett annat dokumentramfönster. När du skapar ett anpassat åtgärdsfönster för dessa program associeras det anpassade åtgärdsfönstret endast med ett visst dokument. Om användaren öppnar ett annat dokument döljs det anpassade åtgärdsfönstret tills det tidigare dokumentet visas igen.

Om du vill visa ett anpassat åtgärdsfönster med flera dokument skapar du en ny instans av det anpassade åtgärdsfönstret när användaren skapar ett nytt dokument eller öppnar ett befintligt dokument. Det gör du genom att hantera händelser som genereras när ett dokument skapas eller öppnas och sedan skapa åtgärdsfönstret i händelsehanterarna. Du kan också hantera dokumenthändelser för att dölja eller visa åtgärdsfönster beroende på vilket dokument som visas.

Om du vill associera åtgärdsfönstret med ett specifikt dokumentfönster använder du Add metoden för att skapa åtgärdsfönstret och skickar en Window (för Word), WindowObject (för InfoPath) eller DocumentWindow (för PowerPoint) till fönsterparametern .

Word-händelser

Om du vill övervaka tillståndet för dokumentfönster i Word kan du hantera följande händelser:

InfoPath-händelser

Om du vill övervaka tillståndet för dokumentfönster i InfoPath kan du hantera följande händelser:

PowerPoint-händelser

Om du vill övervaka tillståndet för dokumentfönster i PowerPoint kan du hantera följande händelser: