Gestione dei riquadri attività personalizzati in più finestre dell'applicazione
Aggiornamento: novembre 2007
Si applica a |
---|
Le informazioni contenute in questo argomento riguardano solo i progetti Visual Studio Tools per Office e le applicazioni di Microsoft Office specificati. Tipo di progetto
Applicazione di Microsoft Office
Per ulteriori informazioni, vedere Funzionalità disponibili in base ai tipi di progetto e applicazione. |
Quando si crea un riquadro attività personalizzato in un'applicazione che utilizza più finestre per visualizzare documenti e altri elementi, è necessario intraprendere ulteriori azioni per assicurare che il riquadro attività sia visibile quando l'utente si aspetta che lo sia.
I riquadri attività personalizzati in tutte le applicazioni sono associati a una finestra cornice del documento che presenta una visualizzazione di un documento o di un elemento all'utente. Il riquadro attività è visibile solo quando la finestra associata è visibile. Non tutte le applicazioni utilizzano tuttavia le finestre cornice del documento nello stesso modo.
I gruppi di applicazioni seguenti hanno requisiti di sviluppo diversi:
Outlook
Word e InfoPath
Excel e PowerPoint
Outlook
Quando si crea un riquadro attività personalizzato per Outlook, tale riquadro viene associato a una finestra di esplorazione o a una finestra di controllo specifica. Le finestre di esplorazione sono finestre che visualizzano il contenuto di una cartella, mentre le finestre di controllo visualizzano un elemento quale un messaggio di posta elettronica o un'attività.
Se si desidera visualizzare un riquadro attività personalizzato con più finestre di esplorazione o di controllo, è necessario creare una nuova istanza del riquadro attività personalizzato quando viene aperta una nuova finestra di esplorazione o di controllo. A questo scopo, gestire un evento generato quando viene creata una finestra di esplorazione o di controllo, quindi creare il riquadro attività nel gestore eventi. È anche possibile gestire gli eventi relativi alle finestre di esplorazione e di controllo per nascondere o visualizzare i riquadri attività a seconda della finestra visibile.
Per associare il riquadro attività a una specifica finestra di esplorazione o di controllo, utilizzare il metodo CustomTaskPaneCollection.Add(UserControl, String, Object) per creare il riquadro attività e passare l'oggetto Explorer o l'oggetto Inspector al parametro window. Per ulteriori informazioni sulla creazione di riquadri attività personalizzati, vedere Cenni preliminari sui riquadri attività personalizzati.
Per la procedura dettagliata sulla modalità di creazione di un riquadro attività per ogni messaggio di posta elettronica aperto, vedere Procedura dettagliata: visualizzazione dei riquadri attività personalizzati con messaggi di posta elettronica in Outlook.
Eventi di Outlook
Per controllare lo stato delle finestre di esplorazione, è possibile gestire gli eventi seguenti correlati all'esplorazione:
Per controllare lo stato delle finestre di controllo, è possibile gestire gli eventi seguenti correlati al controllo:
Come impedire l'apertura di più istanze di un riquadro attività personalizzato in Outlook
Per impedire la visualizzazione nelle finestre di Outlook di più istanze di un riquadro attività personalizzato, rimuovere esplicitamente il riquadro dall'insieme CustomTaskPanes della classe ThisAddIn al momento della chiusura di ogni finestra. Chiamare il metodo Remove in un evento generato quando viene chiusa una finestra, ad esempio ExplorerEvents_10_Event.Close or InspectorEvents_10_Event.Close.
Se non si rimuove esplicitamente il riquadro attività personalizzato, nelle finestre di Outlook potrebbero essere visualizzate più istanze di tale riquadro. In Outlook le finestre vengono talvolta riciclate e pertanto possono conservare riferimenti ai riquadri attività personalizzati a esse associati.
Word e InfoPath
Word e InfoPath visualizzano ogni documento in una finestra cornice del documento diversa. Quando si crea un riquadro attività personalizzato per queste applicazioni, tale riquadro viene associato solo a uno specifico documento. Se l'utente apre un documento diverso, il riquadro attività personalizzato viene nascosto fino a che il documento precedente non sia nuovamente visibile.
Se si desidera visualizzare un riquadro attività personalizzato con più documenti, creare una nuova istanza del riquadro attività personalizzato quando l'utente crea un nuovo documento o ne apre uno esistente. A questo scopo, gestire gli eventi generati quando viene creato o aperto un documento, quindi creare il riquadro attività nei gestori eventi. È inoltre possibile gestire gli eventi del documento per nascondere o visualizzare i riquadri attività a seconda del documento visibile.
Per associare il riquadro attività a una specifica finestra di documento, utilizzare il metodo CustomTaskPaneCollection.Add(UserControl, String, Object) per creare il riquadro attività e passare un oggetto Microsoft.Office.Interop.Word.Window (per Word) o Microsoft.Office.Interop.InfoPath.WindowObject (per InfoPath) al parametro window. Per ulteriori informazioni sulla creazione di riquadri attività personalizzati, vedere Cenni preliminari sui riquadri attività personalizzati.
Eventi di Word
Per controllare lo stato delle finestre di documento in Word, è possibile gestire gli eventi seguenti:
Eventi di InfoPath
Per controllare lo stato delle finestre di documento in InfoPath, è possibile gestire gli eventi seguenti:
Excel e PowerPoint
Excel e PowerPoint creano una sola finestra cornice del documento per tutti i documenti (ossia, per le cartelle di lavoro e le presentazioni). Quando si crea un riquadro attività personalizzato in queste applicazioni, tale riquadro è disponibile per ogni documento aperto nell'applicazione. Nessuna attività aggiuntiva da parte dell'utente è necessaria per assicurare che il riquadro attività sia visualizzato per ogni documento.
Tuttavia, a seconda del documento attivo, è opportuno nascondere o visualizzare il riquadro attività o visualizzare elementi dell'interfaccia utente o dati diversi nel riquadro attività. A questo scopo, gestire gli eventi generati quando viene creato, aperto o attivato un documento, quindi aggiornare il riquadro attività nei gestori eventi.
Eventi di Excel
Per controllare lo stato delle cartelle di lavoro in Excel, è possibile gestire gli eventi seguenti:
Eventi di PowerPoint
Per controllare lo stato delle presentazioni in PowerPoint, è possibile gestire gli eventi seguenti:
Microsoft.Office.Interop.PowerPoint.EApplication_Event.AfterNewPresentation
Microsoft.Office.Interop.PowerPoint.EApplication_Event.AfterPresentationOpen
Microsoft.Office.Interop.PowerPoint.EApplication_Event.NewPresentation
Microsoft.Office.Interop.PowerPoint.EApplication_Event.PresentationOpen
Microsoft.Office.Interop.PowerPoint.EApplication_Event.WindowActivate
Microsoft.Office.Interop.PowerPoint.EApplication_Event.WindowDeactivate
Esempio
Nell'esempio di codice riportato di seguito viene illustrato come nascondere o visualizzare un riquadro attività personalizzato in un gestore eventi per l'evento WorkbookActivate in un componente aggiuntivo per Excel. Quando ogni cartella di lavoro è attivata, il riquadro attività è visibile solo se la cartella di lavoro è denominata SalesData.xls; in caso contrario, il riquadro attività è nascosto. Per eseguire questo esempio, sostituire con il codice seguente il gestore eventi predefinito ThisAddIn_Startup che viene generato da Visual Studio Tools per Office nella classe ThisAddIn. In questo esempio si presuppone che il progetto includa un oggetto UserControl denominato UserControl1.
Dim myUserControl As UserControl1
Dim myCustomTaskPane As Microsoft.Office.Tools.CustomTaskPane
Private Sub ThisAddIn_Startup(ByVal sender As Object, ByVal e As System.EventArgs) _
Handles Me.Startup
myUserControl = New UserControl1()
myCustomTaskPane = Me.CustomTaskPanes.Add(myUserControl, "Sales Task Pane")
End Sub
Private Sub Application_WorkbookActivate(ByVal Wb As Excel.Workbook) _
Handles Application.WorkbookActivate
If Wb.Name = "SalesData.xlsx" Then
myCustomTaskPane.Visible = True
Else
myCustomTaskPane.Visible = False
End If
End Sub
private UserControl1 myUserControl;
private Microsoft.Office.Tools.CustomTaskPane myCustomTaskPane;
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
this.Application.WorkbookActivate += new Excel.AppEvents_WorkbookActivateEventHandler(
Application_WorkbookActivate);
myUserControl = new UserControl1();
myCustomTaskPane = this.CustomTaskPanes.Add(myUserControl, "Sales Task Pane");
}
void Application_WorkbookActivate(Excel.Workbook Wb)
{
if (Wb.Name == "SalesData.xlsx")
myCustomTaskPane.Visible = true;
else
myCustomTaskPane.Visible = false;
}
Vedere anche
Attività
Procedura: aggiungere un riquadro attività personalizzato a un'applicazione