Limitações dos controles do Windows Forms em documentos do Office
Há algumas diferenças entre os controles de formulários do windows que são adicionados aos documentos Microsoft Office Word ou em planilhas Microsoft Office Excel, e controles de formulários do windows que são adicionados para o windows form.Por exemplo, quando você adiciona um controle de Button a um documento, as propriedades como Dock, Anchor, e TabIndex não se comportam como se poderia esperar.
Muitas de essas diferenças são causadas com relação aos controles de formulários do windows são hospedados em documentos.Quando um controle de formulários do windows é adicionado a um documento, Visual Studio Tools for Office Runtime insere um controle ActiveX que hospeda o controle de formulários do windows no documento.O controle de formulários do windows não é inserido 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 2013 e Excel 2010; Word 2013 e Word 2010. Para obter mais informações, consulte Recursos disponíveis pelo aplicativo do Office e o tipo de projeto.
Limitações de métodos e propriedades de controles de formulários do windows
Há um número de métodos e propriedades de controles de formulários do windows que não funcionam da mesma maneira em um documento como em um formulário do windows e, portanto, é recomendável que ele não seja usado.Por exemplo, definir propriedades como Dock e Anchor afeta somente a posição do controle em relação ao controle ActiveX de contêiner, em vez do documento.A seguir está uma lista de métodos sem suporte e propriedades de controles de formulários do windows para palavra e Excel:
Sem suporte métodos e propriedades de controles do excel:
Anchor
Dock
Location
TabIndex
TabStop
TopLevelControl
Sem suporte métodos e propriedades de controles do word:
Hide
Show
Anchor
Dock
Location
TabIndex
TabStop
TopLevelControl
Visible
Você também não pode definir a propriedade de Left ou de Top de controles de formulários do windows que estão na linha do texto em um documento do word.Os controles de formulários do windows são adicionados na linha de texto nos seguintes casos:
Você adiciona programaticamente um controle a um documento do word e usa um método que especifica um intervalo para o local.
Você adiciona um controle de formulários do windows a um documento do word em tempo de design.Você pode alterar isso modificando o controle no designer.
Diferenças em controles dos formulários do windows em documentos do Office
Os controles de formulários do windows geralmente têm o mesmo comportamento em um documento do Office como façam no windows formem, mas existem algumas diferenças.A tabela a seguir descreve as diferenças que existem para controles de formulários do windows em documentos do Office.
Funcionalidade |
diferença |
---|---|
Controle ordem de tabulação |
Você não pode guiar pelos controles colocados em uma planilha do excel ou em um documento do word. |
O controle agrupamento |
Você não pode usar um controle de GroupBox para conter outros controles em um documento do Office.Quando você adiciona vários botões de opção diretamente para o documento, botões de opção não são mutuamente exclusivos.Você pode escrever código para fazer botões de opção mutuamente exclusivas; no entanto, a abordagem preferido é adicionar botões de opção em um controle de usuário e então adicione o controle de usuário ao documento.Para mais informações, consulte o exemplo de controles do word ou o exemplo de controles do excel em Passo a passo e amostras de desenvolvimento do office. |
Tipo de controle |
Os controles de formulários do windows usados em documentos estão envolvidos em uma classe fornecida por Visual Studio Tools for Office Runtime que específico de funcionalidade adicional dos controles à planilha do excel ou documento do word.Por exemplo, se você tiver um controle de Button em uma planilha do excel, não se esqueça especificar o tipo como Microsoft.Office.Tools.Excel.Controls.Button em vez de System.Windows.Forms.Button ou ao fazer referência ao converter o objeto. |
Controle para a posição e redimensiona |
O tamanho e a posição do controle são determinados pelas propriedades que fazem parte do controle ActiveX do recipiente.As propriedades do controle ActiveX têm diferentes valores das propriedades equivalentes de um controle de formulários do windows.Quando você define Top, Left, Height, ou propriedades de Width de um controle, ele é medido em pontos, em vez de pixels. |
Controle para a posição sobre documentos do word |
Se você adiciona controles a um layout com base livre, tenha em mente que os controles fluirão com o conteúdo como o conteúdo for alterado.Você não pode ancorar o controle a um parágrafo quando você arrastá-lo de Caixa de Ferramentas porque o controle é adicionado ao documento do word na linha de texto.Se você usar outro método para adicionar o controle, como clicar duas vezes no controle, o controle inserido está de acordo com a opção de palavras que você definiu inserindo imagens. Você não pode definir a propriedade de Left ou de Top de um controle que está embutido com texto. Você não pode colocar controles em um cabeçalho ou em um rodapé, ou em um subdocument. |
Eventos de Controle |
Quando o controle é selecionado, gera eventos na seguinte ordem:
Quando o controle é deselecionada, gera eventos na seguinte ordem:
|
Controle ao dimensionamento |
Quando você altera a configuração de zoom de um documento como algo diferente de 100%, os controles estão desativados, embora apareçam para dimensionar com o documento.Por exemplo, se você clica em um botão quando seu documento está no zoom de 130%, exibir uma mensagem que o controle foi desativado até que o zoom está definido como 100%.os controles funcionarão corretamente quando você altera o zoom a 100%. |
controle valores de propriedade |
Embora as propriedades dos controles em um formulário do windows são definidas como um valor inteiro, são definidas como um único para controles em um documento do word.O excel, os valores das propriedades de controles são definidos como um tipo double.Se a propriedade de Height e de Width de um controle em uma planilha excede o tamanho da planilha ou de tela, o valor será truncado. |
Redimensionar controle |
Se você redimensiona um controle no documento usando uma das oito alças de dimensionamento, novas dimensões do controle não são refletidas na janela de Propriedades até que o controle estado reselected. |
comportamento de controle |
Os controles em uma planilha do excel podem se comportar imprevisìvel quando a janela da planilha é dividida.Por exemplo, o acesso a TextBox na planilha pode estar disponível somente em uma das janelas. |
controle a nomeação |
Você não pode usar palavra reservada para nomear controles.Por exemplo, se você adicionar Button a uma planilha e altera o nome a Sistema, os erros ocorrem quando você criar o projeto. |
Adicionando controles programaticamente |
Não use o construtor do controle para adicionar um controle em tempo de execução no seu documento.Em vez de isso, use os métodos auxiliares fornecidos por Visual Studio Tools for Office Runtime.Por exemplo, use o método de AddButton para adicionar um botão a uma planilha.Se você deseja adicionar um controle que não seja suportado por esses métodos auxiliares, você pode usar o método de AddControl .Para obter mais informações, consulte Adicionar controles a documentos do Office em tempo de execução. |
copiando controles |
Se você copiar um controle windows forms e o dimensionamento em um documento em tempo de execução, um controle ActiveX de contêiner vazio é colado no documento.O controle de formulários do windows não aparece no novo local, e o código do controle original não é copiado para o controle ActiveX do recipiente. |
Restrições em projetos de um documento Nível
Algumas limitações de usar controles de formulários do windows em documentos projetos são exclusivos da nível.
O controle oferece suporte em tempo de design
Certos controles de formulários do windows são removidos de Caixa de Ferramentas quando uma planilha do excel ou um documento do word é aberta no designer do Visual Studio.Isso é devido às restrições técnicas ou porque a funcionalidade já está disponível dentro da palavra ou Excel.Os projetos Excel e de palavras suportam todos os controles de formulários do windows e outros componentes que aparecem em Caixa de Ferramentas quando o documento tem o foco, e você também pode adicionar controles de terceiros a uma planilha ou em um documento.
Observação |
---|
Todos os controles são removidos de Caixa de Ferramentas quando um documento é protegido.Para obter informações sobre a proteção de documento, consulte Proteção de documentos em soluções de nível de documento. |
Observação |
---|
Os controles de terceiros devem ter o atributo de ComVisibleAttribute definido como true para ser usado em uma solução do Office. |
os seguintes controles e componentes não estão disponíveis em Caixa de Ferramentas:
Suporte para controles ActiveX antigos
Se você criar um projeto do Office da nível que usa um documento ou uma pasta de trabalho do Excel existente da palavra que contém controles ActiveX, a funcionalidade dos controles ActiveX não é perdida; no entanto, não há suporte para adicionar novos controles ActiveX aos documentos no Visual Studio.Por exemplo, se seu documento do word tem um botão da caixa de ferramentas de Controle que executa uma macro do Visual Basic é VBA Applications (), permanecerá executando a macro após o documento foi usado em um projeto do Office.Em o entanto, é recomendável que você remove os controles ActiveX e macros de VBA e sobrescrever com os controles e código gerenciado de formulários do windows.
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