Compartilhar via


Limitações dos controles do Windows Forms em documentos do Office

Existem algumas diferenças entre os controles do Windows Forms são adicionados para documentos do Word de Microsoft Office ou planilhas do Excel de Microsoft Office e os controles do Windows Forms são adicionados ao Windows Forms. Por exemplo, quando você adiciona um Button o controle a um documento, propriedades, como Dock, Anchor, e TabIndex não se comportar conforme o esperado.

Muitas dessas diferenças são causadas pela maneira que o Windows Forms controles estão hospedados em documentos. Quando um controle Windows Forms é adicionado a um documento, o Visual Studio Tools for Office runtime incorpora um controle de ActiveX, em seguida, que hospeda o controle Windows Forms no documento. O controle Windows Forms não está incorporado diretamente no documento.

Aplicável a: As informações neste tópico se aplicam a projetos de nível de documento e projetos de nível de aplicativo para os seguintes aplicativos: Excel 2007 e Excel 2010; Word 2007 e Word 2010. Para obter mais informações, consulte Recursos disponíveis pelo aplicativo do Office e o tipo de projeto.

Limitações dos métodos e propriedades de controles do Windows Forms

Há vários métodos e propriedades de controles Windows Forms que não funcionam da mesma forma em um documento como fariam em um Windows Form e, portanto, é recomendável que eles não sejam usados. Por exemplo, a definição de propriedades, como Dock e Anchor só afeta a posição do controle em relação ao contêiner de controle de ActiveX, em vez de documento. A seguir está uma lista de métodos não suportados e propriedades de controles do Windows Forms para Word e Excel:

  • Não há suporte para métodos e propriedades de controles do Excel:

    • Anchor

    • Dock

    • Location

    • TabIndex

    • TabStop

    • TopLevelControl

  • Não há suporte para métodos e propriedades de controles do Word:

    • Hide

    • Show

    • Anchor

    • Dock

    • Location

    • TabIndex

    • TabStop

    • TopLevelControl

    • Visible

Também não é possível definir o Left ou Top propriedade dos controles Windows Forms, que estão de acordo com o texto em um documento do Word. Controles Windows Forms são adicionados alinhado com o texto nos seguintes casos:

Diferenças nos controles do Windows Forms em documentos do Office

Controles Windows Forms geralmente têm o mesmo comportamento em um documento do Office, como eles em um Windows Form, mas existem algumas diferenças. A tabela a seguir descreve as diferenças existentes para controles de Windows Forms em documentos do Office.

Functionality

Difference

Ordem de tabulação do controle

Você não é possível percorrer os controles colocados em uma planilha do Excel ou um documento do Word.

Agrupamento de controle

Não é possível usar um GroupBox controle para conter outros controles em um documento do Office. Quando você adiciona vários botões de opção diretamente ao documento, os botões de opção não são mutuamente exclusivos. Você pode escrever código para tornar os botões de opção mutuamente exclusivos; No entanto, a abordagem preferencial é adicionar os botões de opção a um controle de usuário e adicionar o controle de usuário para o documento. Para obter mais informações, consulte a amostra de controles do Word ou Excel amostra de controles em Exemplos de desenvolvimento do Office e Walkthroughs.

Control type

Controles Windows Forms, usados em documentos dispostas em uma classe fornecida pelo Visual Studio Tools for Office runtime que fornece a funcionalidade adicional de controles específica para a planilha do Excel ou o documento do Word. Por exemplo, se você tiver um Button de controle em uma planilha do Excel, certifique-se de especificar o tipo como Microsoft.Office.Tools.Excel.Controls.Button em vez de System.Windows.Forms.Button quando referenciar ou converter o objeto.

Tamanho e posição de controle

O tamanho e posição do controle é determinada pelas propriedades que fazem parte do contêiner de controle de ActiveX. As propriedades de controle de ActiveX têm valores diferentes de equivalentes de propriedades de um controle Windows Forms. Ao definir o Top, Left, Height, ou Width Propriedades de um controle, medida em pontos, em vez de pixels.

Posição do controle em documentos do Word

Se você adicionar controles a um layout de fluxo, mantenha em mente que os controles irá fluir com o conteúdo, como as alterações de conteúdo. Você não pode ancorar o controle a um parágrafo quando você arrastá-lo a partir de Toolbox porque o controle é adicionado ao documento do Word, alinhado com o texto. Se você usar outro método para adicionar um controle, como, por exemplo, duas vezes no controle, o controle é inserido de acordo com à opção de palavra que você definiu para a inserção de imagens.

Não é possível definir o Left ou Top propriedade de um controle que é alinhado com texto.

Você pode colocar controles em um cabeçalho ou rodapé ou em um subdocumento.

Control events

Quando o controle é selecionado, ele gera eventos na seguinte ordem:

  1. Enter

  2. GotFocus

Quando o controle estiver desmarcado, ele gera eventos na seguinte ordem:

  1. Leave

  2. Validating

  3. Validated

  4. LostFocus

Dimensionamento de controle

Quando você altera a configuração de zoom de um documento para algo diferente de 100%, controles são desativados, embora elas aparecem para dimensionar com o documento. Por exemplo, se você clicar em um botão quando o documento está em 130% de zoom, ele mostrará uma mensagem que o controle foi desativado até que o zoom estiver definido como 100%. Os controles funcionará corretamente quando você altera o zoom para 100%.

Valores de propriedade de controle

Embora as propriedades dos controles em um formulário do Windows são definidas para um valor inteiro, elas são definidas para um único para controles em um documento do Word. No Excel, os valores de propriedade dos controles são definidos como um double. Se o Height e Width propriedade de um controle em uma planilha excede o tamanho da planilha ou da tela, o valor é truncado.

Controle de redimensionamento

Se você redimensionar um controle em um documento usando uma das alças de dimensionamento de oito, as novas dimensões do controle não serão refletidas na Propriedades janela até que o controle é remarcado.

Comportamento de controle

Controles em uma planilha do Excel podem se comportar de forma imprevisível quando é dividir a janela da planilha. Por exemplo, acesso a uma TextBox na planilha podem estar disponíveis somente em um do windows.

Nomeação de controle

É possível usar palavras reservadas aos controles de nome. Por exemplo, se você adicionar um Button a uma planilha e altere o nome para sistema, os erros ocorrem quando você constrói o projeto.

Adicionando controles de programaticamente

Não use o construtor do controle para adicionar um controle ao seu documento em tempo de execução. Em vez disso, use os métodos auxiliares fornecidos pelo Visual Studio Tools for Office runtime. Por exemplo, use o AddButton método para adicionar um botão em uma planilha. Se você quiser adicionar um controle que não é suportado por esses métodos auxiliares, você pode usar o AddControl método. For more information, see Adicionar controles a documentos do Office em tempo de execução.

Copiando controles

Se você copia um controle Windows Forms e colá-lo em um documento em tempo de execução, um ActiveX de controle de recipiente vazio é colado no documento. O controle Windows Forms não aparece no novo local e code-behind do controle original não é copiado para o contêiner de controle de ActiveX.

Limitações em projetos de nível de documento

Algumas limitações do uso de controles do Windows Forms em documentos são exclusivas para projetos de nível de documento.

Suporte de controle em tempo de Design

Certos controles Windows Forms são removidos da caixa de ferramentas quando uma planilha do Excel ou um documento do Word é aberto no designer de Visual Studio. Isso é devido a limitações técnicas ou porque a funcionalidade já está disponível no Word ou Excel. Os projetos do Excel e Word oferecem suporte a todos os controles Windows Forms e outros componentes que aparecem na caixa de ferramentas quando o documento tem o foco e você também pode adicionar controles de terceiros a uma planilha ou documento.

ObservaçãoObservação

Todos os controles são removidos da caixa de ferramentas quando um documento está protegido. Para obter informações sobre a proteção do documento, consulte Proteção de documentos em soluções de nível de documento.

ObservaçãoObservação

Controles de terceiros devem ter o ComVisibleAttribute atributo definido como true para ser usado em uma solução do Office.

Os seguintes controles e componentes não estão disponíveis na caixa de ferramentas:

Suporte a controles de ActiveX de legado

Se você criar um projeto do Office em nível de documento que usa um documento existente do Word ou uma pasta de trabalho do Excel que contém os controles de ActiveX, a funcionalidade dos controles ActiveX não será perdida; No entanto, não existe suporte para a adição de novos controles de ActiveX aos seus documentos a partir de Visual Studio. Por exemplo, se o seu documento do Word tem um botão a partir de controle caixa de ferramentas que executa um Visual Basic for Applications de macro do VBA (), ele continuará executar a macro após o documento tiver sido usado em um projeto do Office. No entanto, é recomendável remover controles de ActiveX e macros VBA e substituí-los com controles Windows Forms e código gerenciado.

Consulte também

Tarefas

Como: Adicionar controles do Windows Forms a documentos do Office

Conceitos

Controles do Windows Forms em Visão geral de documentos do Office

Adicionar controles a documentos do Office em tempo de execução

Outros recursos

Controles em documentos do Office