Condividi tramite


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

Vedere anche

Riferimenti

Windows2 Interfaccia

Spazio dei nomi EnvDTE80

Altre risorse

Procedura: creare e controllare finestre degli strumenti

Procedura: compilare ed eseguire gli esempi di codice del modello a oggetti di automazione