Painéis de tarefas personalizados

Os painéis de tarefas são painéis de interface do usuário que normalmente são encaixados em um lado de uma janela em um aplicativo do Microsoft Office. Os painéis de tarefas personalizados oferecem uma maneira de criar seu próprio painel de tarefas e fornecem aos usuários uma interface familiar para acessar os recursos da solução. Por exemplo, a interface pode conter controles que executam código para modificar documentos ou exibir dados de uma fonte de dados.

Aplica-se a: As informações neste tópico se aplicam a projetos de suplemento VSTO para Outlook. Para obter mais informações, consulte Recursos disponíveis por aplicativo e tipo de projeto do Office.

Observação

Um painel de tarefas personalizado é diferente do painel de ações. O painel de ações faz parte das personalizações em nível de documento para o Microsoft Office Word e o Microsoft Office Excel. Para obter mais informações, consulte Visão geral do painel Ações.

Benefícios dos painéis de tarefas personalizados

Os painéis de tarefas personalizados permitem integrar seus recursos em uma interface de usuário familiar. Você pode criar um painel de tarefas personalizado rapidamente usando as ferramentas do Visual Studio.

Interface de usuário familiar

Os usuários de aplicativos no Microsoft Office System já estão familiarizados com o uso de painéis de tarefas, como o painel de tarefas Estilos e Formatação no Word. Os painéis de tarefas personalizados se comportam como outros painéis de tarefas no Microsoft Office System. Os usuários podem encaixar painéis de tarefas personalizados em diferentes lados da janela do aplicativo ou podem arrastar painéis de tarefas personalizados para qualquer local na janela. Você pode criar um suplemento VSTO que exibe vários painéis de tarefas personalizados ao mesmo tempo, e os usuários podem controlar cada painel de tarefas individualmente.

Suporte a formulários do Windows

A interface do usuário de um painel de tarefas personalizado que você cria usando as ferramentas de desenvolvimento do Office no Visual Studio é baseada em controles do Windows Forms. Você pode usar o conhecido Windows Forms Designer para criar a interface do usuário para um painel de tarefas personalizado. Você também pode usar o suporte à vinculação de dados no Windows Forms para vincular uma fonte de dados a controles no painel de tarefas.

Criar um painel de tarefas personalizado

Você pode criar um painel de tarefas personalizado básico em duas etapas:

  1. Crie uma interface de usuário para seu painel de tarefas personalizado adicionando controles do Windows Forms a um UserControl objeto.

  2. Instancie o painel de tarefas personalizado passando o controle de usuário para o CustomTaskPaneCollection objeto no suplemento VSTO. Essa coleção retorna um novo CustomTaskPane objeto que você pode usar para modificar a aparência do painel de tarefas e responder a eventos do usuário.

    Para obter mais informações, consulte Como: Adicionar um painel de tarefas personalizado a um aplicativo.

Criar a interface do usuário

Todos os painéis de tarefas personalizados que são criados usando as ferramentas de desenvolvimento do Office no Visual Studio contêm um UserControl objeto. Esse controle de usuário fornece a interface do usuário do painel de tarefas personalizado. Você pode criar o controle de usuário em tempo de design ou em tempo de execução. Se você criar o controle de usuário em tempo de design, poderá usar o Windows Forms Designer para construir a interface do usuário do painel de tarefas.

Instanciar o painel de tarefas personalizado

Depois de criar um controle de usuário que contém a interface do usuário do painel de tarefas personalizado, você precisa instanciar um CustomTaskPanearquivo . Para fazer isso, passe o controle de usuário para o CustomTaskPaneCollection suplemento VSTO chamando um dos Add métodos. Essa coleção é exposta como o CustomTaskPanes campo da ThisAddIn classe. O exemplo de código a seguir destina-se a ser executado a ThisAddIn partir da classe.

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

Os Add métodos retornam um novo CustomTaskPane objeto. Você pode usar esse objeto para modificar a aparência do painel de tarefas e responder a eventos do usuário.

Controlar o painel de tarefas em várias janelas

Os painéis de tarefas personalizados são associados a uma janela de quadro de documento, que apresenta uma exibição de um documento ou item ao usuário. O painel de tarefas fica visível somente quando a janela associada está visível.

Para determinar qual janela exibe o painel de tarefas personalizado, use a sobrecarga de método apropriada Add ao criar o painel de tarefas:

  • Para associar o painel de tarefas à janela ativa, use o Add método.

  • Para associar o painel de tarefas a um documento hospedado por uma janela especificada, use o Add método.

    Alguns aplicativos do Office exigem instruções explícitas sobre quando criar ou exibir seu painel de tarefas quando mais de uma janela estiver aberta. Isso torna importante considerar onde instanciar o painel de tarefas personalizado em seu código para garantir que o painel de tarefas apareça com os documentos ou itens apropriados no aplicativo. Para obter mais informações, consulte Gerenciar painéis de tarefas personalizados em janelas de aplicativos.

Acessar o aplicativo a partir do Painel de Tarefas

Se você deseja automatizar o aplicativo a partir do controle de usuário, você pode acessar diretamente o modelo de objeto usando Globals.ThisAddIn.Application em seu código. A classe estática Globals fornece acesso ao ThisAddIn objeto. O Application campo desse objeto é o ponto de entrada no modelo de objeto do aplicativo.

Para obter mais informações sobre o Application campo do ThisAddIn objeto, consulte Suplementos VSTO do programa. Para obter uma explicação passo a passo que demonstra como automatizar um aplicativo a partir de um painel de tarefas personalizado, consulte Demonstra Passo a passo: Automatizar um aplicativo a partir de um painel de tarefas personalizado. Para obter mais informações sobre a classe, consulte Acesso global a Globals objetos em projetos do Office.

Gerenciar a interface do usuário do Painel de Tarefas

Depois de criar o painel de tarefas, você pode usar propriedades e eventos do objeto para controlar a interface do usuário do painel de tarefas e responder quando o usuário altera o painel de CustomTaskPane tarefas.

Tornar visível o Painel de Tarefas personalizado

Por padrão, o painel de tarefas não está visível. Para tornar o painel de tarefas visível, você deve definir a Visible propriedade como true.

Os usuários podem fechar um painel de tarefas a qualquer momento clicando no botão Fechar (X) no canto do painel de tarefas. No entanto, não há nenhuma maneira padrão para os usuários abrirem o painel de tarefas personalizado novamente. Se um usuário fechar um painel de tarefas personalizado, ele não poderá exibir o painel de tarefas personalizado novamente, a menos que você forneça uma maneira de exibi-lo.

Se você criar um painel de tarefas personalizado no suplemento VSTO, também deverá criar um elemento da interface do usuário, como um botão, no qual os usuários podem clicar para exibir ou ocultar o painel de tarefas personalizado. Se você criar um painel de tarefas personalizado em um aplicativo do Microsoft Office que ofereça suporte à personalização da Faixa de Opções, poderá adicionar um grupo de controle à Faixa de Opções com um botão que exiba ou oculte seu painel de tarefas personalizado. Para obter uma explicação passo a passo que demonstra como fazer isso, consulte Passo a passo: sincronizar um painel de tarefas personalizado com um botão da Faixa de Opções.

Se você criar um painel de tarefas personalizado em um aplicativo do Microsoft Office que não ofereça suporte à personalização da Faixa de Opções, poderá adicionar um painel de CommandBarButton tarefas personalizado.

Modificar a aparência do painel de tarefas

Você pode controlar o tamanho e o local de um painel de tarefas personalizado usando as propriedades do CustomTaskPane objeto. Você pode fazer muitas outras alterações na aparência de um painel de tarefas personalizado usando as UserControl propriedades do objeto contido no painel de tarefas personalizado. Por exemplo, você pode especificar uma imagem de plano de fundo para um painel de tarefas personalizado usando a BackgroundImage propriedade do controle de usuário.

A tabela a seguir lista as alterações que você pode fazer em um painel de tarefas personalizado usando CustomTaskPane propriedades.

Tarefa Propriedade
Para alterar o tamanho do painel de tarefas Height

Width
Para alterar o local do painel de tarefas DockPosition
Para ocultar o painel de tarefas ou torná-lo visível Visible
Para impedir que o usuário altere o local do painel de tarefas DockPositionRestrict

Eventos do painel de tarefas personalizado do programa

Talvez você queira que o suplemento VSTO responda quando o usuário modifica o painel de tarefas personalizado. Por exemplo, se o usuário alterar a orientação do painel de vertical para horizontal, convém reposicionar os controles.

A tabela a seguir lista os eventos que você pode manipular para responder às alterações feitas pelo usuário no painel de tarefas personalizado.

Tarefa Evento
Para responder quando o usuário alterar o local do painel de tarefas. DockPositionChanged
Para responder quando o usuário oculta o painel de tarefas ou o torna visível. VisibleChanged

Limpar recursos usados pelo painel de tarefas

Depois de criar um painel de tarefas personalizado, o objeto permanece na memória enquanto o CustomTaskPane suplemento VSTO estiver em execução. O objeto permanece na memória mesmo depois que o usuário clica no botão Fechar (X) no canto do painel de tarefas.

Para limpar os recursos usados pelo painel de tarefas enquanto o suplemento VSTO ainda está em execução, use os Remove métodos ou RemoveAt . Esses métodos removem o CustomTaskPanes objeto especificado CustomTaskPane da coleção e chamam o Dispose método do objeto.

O tempo de execução do Visual Studio Tools for Office limpa automaticamente os recursos usados pelo painel de tarefas personalizado quando o suplemento VSTO é descarregado. Não chame ThisAddIn_Shutdown os Remove métodos ou RemoveAt no manipulador de eventos em seu projeto. Esses métodos lançarão um ObjectDisposedException, porque o Visual Studio Tools for Office runtime limpa os recursos usados pelo objeto antes ThisAddIn_Shutdown de CustomTaskPane ser chamado. Para obter mais informações sobre ThisAddIn_Shutdowno , consulte Eventos em projetos do Office.

Gerenciar painéis de tarefas personalizados em várias janelas de aplicativos

Ao criar um painel de tarefas personalizado em um aplicativo que usa várias janelas para exibir documentos e outros itens, você precisa executar etapas extras para garantir que o painel de tarefas fique visível quando o usuário espera que ele esteja.

Os painéis de tarefas personalizados em todos os aplicativos são associados a uma janela de quadro de documento, que apresenta uma exibição de um documento ou item ao usuário. O painel de tarefas fica visível somente quando a janela associada está visível. No entanto, nem todos os aplicativos usam janelas de quadro de documento da mesma maneira.

Os seguintes grupos de aplicativos têm requisitos de desenvolvimento diferentes:

Outlook

Quando você cria um painel de tarefas personalizado para o Outlook, o painel de tarefas personalizado é associado a uma janela específica do Explorer ou do Inspetor. Exploradores são janelas que exibem o conteúdo de uma pasta e Inspetores são janelas que exibem um item, como uma mensagem de email ou uma tarefa.

Se desejar exibir um painel de tarefas personalizado com várias janelas do Explorer ou do Inspetor, será necessário criar uma nova instância do painel de tarefas personalizado quando uma janela do Explorer ou do Inspetor for aberta. Para fazer isso, manipule um evento que é gerado quando uma janela do Explorer ou do Inspetor é criada e, em seguida, crie o painel de tarefas no manipulador de eventos. Você também pode manipular eventos do Explorer e do Inspetor para ocultar ou exibir painéis de tarefas, dependendo de qual janela está visível.

Para associar o painel de tarefas a um Explorer ou Inspetor específico, use o método para criar o painel de tarefas e passe o objeto ou para o Add Explorer parâmetro window.Inspector Para obter mais informações sobre como criar painéis de tarefas personalizados, consulte Visão geral de painéis de tarefas personalizados.

Impedir várias instâncias de um painel de tarefas personalizado no Outlook

Para impedir que as janelas do Outlook exibam várias instâncias de um painel de tarefas personalizado, remova explicitamente o painel de tarefas personalizado da coleção da CustomTaskPanes ThisAddIn classe quando cada janela for fechada. Chame o Remove método em um evento que é gerado quando uma janela é fechada, como Close ou Close.

Se você não remover explicitamente o painel de tarefas personalizado, as janelas do Outlook poderão exibir várias instâncias do painel de tarefas personalizado. Às vezes, o Outlook recicla janelas e as janelas recicladas retêm referências a quaisquer painéis de tarefas personalizados que foram anexados a elas.

Word, InfoPath e PowerPoint

Word, InfoPath e PowerPoint exibem cada documento em uma janela de quadro de documento diferente. Quando você cria um painel de tarefas personalizado para esses aplicativos, o painel de tarefas personalizado é associado apenas a um documento específico. Se o usuário abrir um documento diferente, o painel de tarefas personalizado ficará oculto até que o documento anterior fique visível novamente.

Se desejar exibir um painel de tarefas personalizado com vários documentos, crie uma nova instância do painel de tarefas personalizado quando o usuário criar um novo documento ou abrir um documento existente. Para fazer isso, manipule eventos que são gerados quando um documento é criado ou aberto e, em seguida, crie o painel de tarefas nos manipuladores de eventos. Você também pode manipular eventos de documento para ocultar ou exibir painéis de tarefas, dependendo de qual documento está visível.

Para associar o painel de tarefas a uma janela de documento específica, use o método para criar o painel de tarefas e passe um Window (para Word), WindowObject (para InfoPath) ou DocumentWindow (para PowerPoint) para o Add parâmetro window.

Eventos do Word

Para monitorar o estado das janelas do documento no Word, você pode manipular os seguintes eventos:

Eventos do InfoPath

Para monitorar o estado das janelas de documento no InfoPath, você pode manipular os seguintes eventos:

Eventos do PowerPoint

Para monitorar o estado das janelas de documento no PowerPoint, você pode manipular os seguintes eventos: