Condividi tramite


Limitazioni dei controlli Windows Form nei documenti di Office

Esistono alcune differenze tra i controlli Windows Form aggiunti ai documenti di Microsoft Office Word o ai fogli di lavoro di Microsoft Office Excel e Windows Form controlli aggiunti a Windows Form. Ad esempio, quando si aggiunge un Button controllo a un documento, le proprietà come Dock, Anchore TabIndex non si comportano come previsto.

Molte di queste differenze sono causate dal modo in cui i controlli Windows Form sono ospitati nei documenti. Quando un controllo Windows Form viene aggiunto a un documento, il Strumenti di Visual Studio per il runtime di Office incorpora un controllo ActiveX che ospita quindi il controllo Windows Form nel documento. Il controllo Windows Form non è incorporato direttamente nel documento.

Si applica a: le informazioni contenute in questo argomento si applicano ai progetti a livello di documento e ai progetti di componente aggiuntivo VSTO per Excel e Word. Per altre informazioni, vedere Funzionalità disponibili per app Office lication e tipo di progetto.

Limitazioni dei metodi e delle proprietà dei controlli Windows Form

Esistono diversi metodi e proprietà di Windows Form controlli che non funzionano allo stesso modo in un documento come in un Windows Form e, di conseguenza, è consigliabile non usarli. Ad esempio, l'impostazione di proprietà come Dock e Anchor influisce solo sulla posizione del controllo rispetto al controllo ActiveX contenitore anziché sul documento. Di seguito è riportato un elenco di metodi e proprietà non supportati di Windows Form controlli per Word ed Excel:

Non è inoltre possibile impostare la Left proprietà o Top di Windows Form controlli in linea con testo in un documento di Word. Windows Form controlli vengono aggiunti in linea con il testo nei casi seguenti:

  • Aggiungere un controllo a livello di codice a un documento di Word e utilizzare un metodo che specifica un intervallo per la posizione.

  • Si aggiunge un controllo Windows Form a un documento di Word in fase di progettazione. È possibile modificarlo modificando il controllo nella finestra di progettazione.

Differenze nei controlli di Windows Form nei documenti di Office

Windows Form controlli hanno in genere lo stesso comportamento in un documento di Office come in un Windows Form, ma esistono alcune differenze. Nella tabella seguente vengono descritte le differenze esistenti per i controlli Windows Form nei documenti di Office.

Funzionalità Differenza
Ordine di tabulazioni dei controlli Non è possibile eseguire la tabulazione dei controlli posizionati in un foglio di lavoro di Excel o in un documento di Word.
Raggruppamento dei controlli Non è possibile utilizzare un GroupBox controllo per contenere altri controlli in un documento di Office. Quando si aggiungono più pulsanti di opzione direttamente al documento, i pulsanti di opzione non si escludono a vicenda. È possibile scrivere codice per rendere i pulsanti di opzione che si escludono a vicenda; Tuttavia, l'approccio preferito consiste nell'aggiungere i pulsanti di opzione a un controllo utente e quindi aggiungere il controllo utente al documento. Per altre informazioni, vedere Esempio di controlli Word o Esempio di controlli Excel in Esempi di sviluppo e procedure dettagliate di Office.
Tipo di controllo Windows Form controlli utilizzati nei documenti vengono inclusi in una classe fornita dal runtime di Strumenti di Visual Studio per Office che fornisce ai controlli funzionalità aggiuntive specifiche del foglio di lavoro di Excel o del documento di Word. Ad esempio, se si dispone di un controllo Pulsante in un foglio di lavoro di Excel, assicurarsi di specificare il tipo come Button anziché Button quando si fa riferimento o si esegue il cast dell'oggetto.
Posizione e dimensioni del controllo Le dimensioni e la posizione del controllo sono determinate dalle proprietà che fanno parte del controllo ActiveX del contenitore. Le proprietà del controllo ActiveX accettano valori diversi dalle proprietà equivalenti di un controllo Windows Form. Quando si impostano le Topproprietà , LeftHeight, o Width di un controllo , viene misurata in punti anziché in pixel.
Controllare la posizione nei documenti di Word Se si aggiungono controlli a un layout basato su flusso, tenere presente che i controlli verranno trasmessi con il contenuto man mano che il contenuto cambia. Non è possibile ancorare il controllo a un paragrafo quando lo si trascina dalla casella degli strumenti perché il controllo viene aggiunto al documento di Word in linea con il testo. Se si utilizza un altro metodo per aggiungere il controllo, ad esempio facendo doppio clic sul controllo, il controllo viene inserito in base all'opzione word impostata per l'inserimento di immagini.

Non è possibile impostare la Left proprietà o Top di un controllo in linea con il testo.

Non è possibile inserire controlli in un'intestazione o in un piè di pagina o all'interno di un documento secondario.
Eventi di controllo Quando il controllo è selezionato, genera eventi nell'ordine seguente:

1. Enter
2. GotFocus

Quando il controllo viene deselezionato, genera eventi nell'ordine seguente:

1. Leave
2. Validating
3. Validated
4. LostFocus
Controllo del ridimensionamento Quando si modifica l'impostazione dello zoom di un documento su un valore diverso dal 100%, i controlli vengono disabilitati, anche se vengono ridimensionati con il documento. Ad esempio, se si fa clic su un pulsante quando il documento è al 130% di zoom, verrà visualizzato un messaggio che indica che il controllo è stato disabilitato fino a quando lo zoom non è impostato su 100%. I controlli funzioneranno correttamente quando si modifica lo zoom su 100%.
Valori delle proprietà di controllo Anche se le proprietà dei controlli in un Windows Form sono impostate su un valore intero, vengono impostate su un singolo oggetto per i controlli di un documento di Word. In Excel i valori delle proprietà dei controlli vengono impostati su un valore double. Se la Height proprietà e Width di un controllo in un foglio di lavoro supera le dimensioni del foglio di lavoro o dello schermo, il valore viene troncato.
Ridimensionamento dei controlli Se si ridimensiona un controllo nel documento utilizzando uno degli otto quadratini di ridimensionamento, le nuove dimensioni del controllo non vengono riflesse nella finestra Proprietà finché il controllo non viene rielezione.
Comportamento del controllo I controlli in un foglio di lavoro di Excel potrebbero comportarsi in modo imprevedibile quando la finestra del foglio di lavoro viene divisa. Ad esempio, l'accesso a un TextBox nel foglio di lavoro potrebbe essere disponibile solo in una delle finestre.
Denominazione dei controlli Non è possibile utilizzare parole riservate per denominare i controlli. Ad esempio, se si aggiunge un oggetto Button a un foglio di lavoro e si modifica il nome in Sistema, si verificano errori durante la compilazione del progetto.
Aggiunta di controlli a livello di codice Non utilizzare il costruttore del controllo per aggiungere un controllo al documento in fase di esecuzione. Usare invece i metodi helper forniti dal Strumenti di Visual Studio per il runtime di Office. Ad esempio, utilizzare il AddButton metodo per aggiungere un pulsante a un foglio di lavoro. Se si desidera aggiungere un controllo non supportato da questi metodi helper, è possibile usare il AddControl metodo . Per altre informazioni, vedere Aggiungere controlli ai documenti di Office in fase di esecuzione.
Copia dei controlli Se si copia un controllo Windows Form e lo si incolla in un documento in fase di esecuzione, nel documento viene incollato un controllo ActiveX contenitore vuoto. Il controllo Windows Form non viene visualizzato nella nuova posizione e il code-behind del controllo originale non viene copiato nel controllo ActiveX del contenitore.

Limitazioni nei progetti a livello di documento

Alcune limitazioni dell'uso di controlli Windows Form nei documenti sono univoche per i progetti a livello di documento.

Controllo del supporto in fase di progettazione

Alcuni controlli Windows Form vengono rimossi dalla casella degli strumenti quando un foglio di lavoro di Excel o un documento di Word è aperto nella finestra di progettazione di Visual Studio. Ciò è dovuto a limitazioni tecniche o perché la funzionalità è già disponibile all'interno di Word o Excel. I progetti di Excel e Word supportano tutti i controlli Windows Form e altri componenti visualizzati nella casella degli strumenti quando il documento ha lo stato attivo ed è anche possibile aggiungere controlli di terze parti a un foglio di lavoro o a un documento.

Nota

Tutti i controlli vengono rimossi dalla casella degli strumenti quando un documento è protetto. Per informazioni sulla protezione dei documenti, vedere Protezione dei documenti nelle soluzioni a livello di documento.

Nota

Per poter essere usati in una soluzione Office, i controlli di terze parti devono avere l'attributo ComVisibleAttribute impostato su true .

I controlli e i componenti seguenti non sono disponibili nella casella degli strumenti:

Supporto per i controlli ActiveX legacy

Se si crea un progetto office a livello di documento che utilizza un documento di Word esistente o una cartella di lavoro di Excel che contiene controlli ActiveX, la funzionalità dei controlli ActiveX non viene persa; Non è tuttavia disponibile alcun supporto per l'aggiunta di nuovi controlli ActiveX ai documenti da Visual Studio. Ad esempio, se nel documento di Word è presente un pulsante della casella degli strumenti Di controllo che esegue una macro Visual Basic, Applications Edition (VBA), continuerà a eseguire la macro dopo l'utilizzo del documento in un progetto di Office. È tuttavia consigliabile rimuovere i controlli ActiveX e le macro VBA e sostituirli con i controlli Windows Form e il codice gestito.