Metodo Windows2.CreateToolWindow2
Crea una nuova finestra degli strumenti e ospita un oggetto definito dall'utente, controllo.NET in.
Spazio dei nomi: EnvDTE80
Assembly: EnvDTE80 (in EnvDTE80.dll)
Sintassi
'Dichiarazione
Function CreateToolWindow2 ( _
Addin As AddIn, _
Assembly As String, _
Class As String, _
Caption As String, _
GuidPosition As String, _
<OutAttribute> ByRef ControlObject As Object _
) As Window
Window CreateToolWindow2(
AddIn Addin,
string Assembly,
string Class,
string Caption,
string GuidPosition,
out Object ControlObject
)
Window^ CreateToolWindow2(
AddIn^ Addin,
String^ Assembly,
String^ Class,
String^ Caption,
String^ GuidPosition,
[InAttribute] [OutAttribute] Object^% ControlObject
)
abstract CreateToolWindow2 :
Addin:AddIn *
Assembly:string *
Class:string *
Caption:string *
GuidPosition:string *
ControlObject:Object byref -> Window
function CreateToolWindow2(
Addin : AddIn,
Assembly : String,
Class : String,
Caption : String,
GuidPosition : String,
ControlObject : Object
) : Window
Parametri
- Addin
Tipo: EnvDTE.AddIn
Un'istanza del componente aggiuntivo che crea la finestra degli strumenti.
- Assembly
Tipo: System.String
Il nome completo o il percorso del file dell'assembly che contiene il controllo utente.
- Class
Tipo: System.String
Il nome completo della classe che implementa il controllo utente.
- Caption
Tipo: System.String
La barra del titolo da visualizzare nella nuova finestra degli strumenti.
- GuidPosition
Tipo: System.String
un identificatore univoco per la nuova finestra.(Ciò può essere utilizzato per individuare la finestra in Windows raccolta.)
- ControlObject
Tipo: System.Object%
Il controllo utente da ospitare nella nuova finestra degli strumenti.
Valore restituito
Tipo: EnvDTE.Window
In Window oggetto.
Note
prima di richiamare CreateToolWindow2 per creare una nuova finestra degli strumenti, è opportuno spostare il controllo utente (ControlObject) nello stesso assembly del componente aggiuntivo, oppure impostare tutti gli attributi sul controllo utente per renderlo completamente visibile a COM.Ad esempio, controllare Il registro per l'interoperabilità COM l'opzione nel progetto viene compilato le opzioni.) In caso contrario, il controllo non eseguirà correttamente il marshalling e CreateToolWindow2 restituirà un valore null.
Se si tenta di impostare gli stati di visibilità della nuova finestra degli strumenti, ovvero altezza, larghezza o position - prima che la finestra degli strumenti sia visibile, viene visualizzato un errore.Assicurarsi che la finestra sia visibile prima di tentare di impostare le proprietà.
Per ulteriori esempi su come utilizzare questo metodo, vedere l'esempio di ToolWindow su Visual Studio L'automazione campione la pagina Web: https://www.microsoft.com/downloads/details.aspx?familyid=3ff9c915-30e5-430e-95b3-621dccd25150&displaylang=en.Per informazioni sulla creazione di controlli ActiveX, vedere Creazione di un controllo ActiveX MFC.
Esempi
Nell'esempio richiede innanzitutto creare un controllo utente compila un progetto Libreria di controlli Windows.Annotare il nome del progetto e della classe del controllo da utilizzare nel codice seguente.Modificare la stringa di assemblypath la directory del file DLL del controllo utente.Inoltre, il codice è progettato per sostituire OnConnection metodo di progetto di componente aggiuntivo.
[C#]
public void OnConnection(object application, ext_ConnectMode
connectMode, object addInInst, ref Array custom)
{
_applicationObject = (DTE2)application;
_addInInstance = (AddIn)addInInst;
EnvDTE80.Windows2 wins2obj;
AddIn addinobj;
object ctlobj = null;
Window newWinobj;
// A toolwindow must be connected to an add-in, so this line
// references one.
addinobj = _applicationObject.AddIns.Item(1);
wins2obj = (Windows2)_applicationObject.Windows;
// This section specifies the path and class name of the windows
// control that you want to host in the new tool window, as well as
// its caption and a unique GUID.
string assemblypath = "C:\\temp\\WindowsControlLibrary1.dll";
string classname = "WindowsControlLibrary1.UserControl1";
string guidpos = "{426E8D27-3D33-4FC8-B3E9-9883AADC679F}";
string caption = "CreateToolWindow2 Test";
// Create the new tool window and insert the user control in it.
newWinobj = wins2obj.CreateToolWindow2(addinobj, assemblypath,
classname, caption, guidpos, ref ctlobj);
newWinobj.Visible = true;
}
Sicurezza di .NET Framework
- Attendibilità totale per il chiamante immediato. Impossibile utilizzare questo membro in codice parzialmente attendibile. Per ulteriori informazioni, vedere Utilizzo di librerie da codice parzialmente attendibile.
Vedere anche
Riferimenti
Altre risorse
Procedura: creare e controllare finestre degli strumenti
Procedura: compilare ed eseguire gli esempi di codice del modello a oggetti di automazione