Udostępnij za pośrednictwem


Metoda Windows2.CreateToolWindow2 —

Tworzy nowe okno narzędzia i obsługuje .NET kontroli przez użytkownika w nim.

Przestrzeń nazw:  EnvDTE80
Zestaw:  EnvDTE80 (w EnvDTE80.dll)

Składnia

'Deklaracja
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

Parametry

  • Addin
    Typ: AddIn

    Wystąpienie dodatek tworzenia okna narzędzia.

  • Assembly
    Typ: String

    Pełna nazwa lub ścieżka pliku zestawu zawierającego formant użytkownika.

  • Class
    Typ: String

    Pełna nazwa klasy implementującej kontroli użytkownika.

  • Caption
    Typ: String

    Podpis do wyświetlenia w nowym oknie Narzędzie.

  • GuidPosition
    Typ: String

    Identyfikator unikatowy dla nowego okna. (To może służyć do lokalizowania okna w Windows kolekcji.)

  • ControlObject
    Typ: Object%

    Formant użytkownika mają być udostępniane w nowym oknie Narzędzie.

Wartość zwracana

Typ: Window
Obiekt Window.

Uwagi

Przed wywołaniem CreateToolWindow2 w celu utworzenia nowego okna narzędzi, należy albo przenieść kontrolkę użytkownika (ControlObject) do tego samego zestawu jako dodatek lub ustawić wszystkie atrybuty w kontrolce użytkownika, aby uczynić ją całkowicie widoczną dla modelu COM. (Na przykład zaznaczyć opcję Zarejestruj w usłudze międzyoperacyjnej modelu COM w opcjach kompilacji projektu.) Jeśli nie zostanie to zrobione, kontrolka nie zostanie zorganizowana poprawnie i metoda CreateToolWindow2 zwróci wartość null.

Jeśli próby ustawienia widoczności Państwa nowego okna narzędzia — takie jak wysokość, szerokość lub pozycji — przed okno narzędzia jest widoczny, jest wyświetlany komunikat o błędzie.Upewnij się, to okno jest wyświetlane przed przystąpieniem do ustawiania takich właściwości.

Aby uzyskać więcej przykładów zastosowania tej metody, zobacz próbki ToolWindow na Visual Studio strony sieci Web próbek automatyzacji: https://www.microsoft.com/downloads/details.aspx?familyid=3ff9c915-30e5-430e-95b3-621dccd25150&displaylang=en.Aby uzyskać informacje dotyczące tworzenia formantów ActiveX, zobacz Tworzenie formantu MFC ActiveX.

Przykłady

Poniższy przykład wymaga najpierw utworzyć formant użytkownika poprzez budowanie projektu Biblioteka formantów systemu Windows.Zanotuj nazwę projektu i klasy formantu do użycia w poniższym kodzie.Zmień ciąg assemblypath do katalogu pliku DLL kontrola użytkownika.Ponadto, kod ma zastąpić OnConnection metoda projektu dodatek.

[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;
}

Zabezpieczenia programu .NET Framework

Zobacz też

Informacje

Windows2 Interfejs

Przestrzeń nazw EnvDTE80

Inne zasoby

Porady: tworzenie i kontrolowanie okien narzędzi

Porady: kompilowanie i uruchamianie kodu modelu obiektów automatyzacji — przykłady