Sdílet prostřednictvím


Jak: vytvoření a řízení nástroje systému Windows

Systém Windows v Visual Studio spadají do kategorie: dokumentů systému windows nebo nástroje systému windows.okno dokumentu je jeden, jehož obsah je upravovat pomocí editoru kódu, jako je například textový soubor, jazyk HTMLnebo kód uvnitř třída.panel nástrojů obsahuje jeden nebo více ovládacích prvků, jako jsou tlačítka, textu, polí se seznamem a tak dále.Visual Studio Integrované vývojové prostředí (IDE) používá k provádění úkolů, jako je například nastavení možností zobrazení chyb nebo úpravy prvků projekt ovládací prvky.Některé příklady těchto Výstup okno Seznam úkolůa nástrojů. Nástrojů mohou volně pohybovat po IDE nebo doku s jinými nástroje systému windows a lze použít LinkedWindows kolekce programově propojení nebo propojení nástroje systému windows v IDE. Další informace naleznete v tématu Jak: změnit vlastnosti okna.

K manipulaci s existující nástroje systému windows pomocí automatizace, můžete také vytvořit vlastní nástroj windows pomocí CreateToolWindow2 metoda Windows2 kolekce.

Vytvořením vlastních vlastní panel nástrojů můžete vyplnit jej užitečné prvky pro úkoly.Může například použít vlastní panel nástrojů zobrazit speciální nástroje umožňující formátování kódu, sledovat a měnit nastavení proměnná nebo provádět ladění Upřesnit úkoly nebo zdrojová databázeprofilace.

procedura pro vytváření vlastních panel nástrojů je:

  • Vytvořit ovládací prvek uživatele (pomocí řídicí knihovna systému Windows projekt)

  • Přidejte požadované ovládací prvky na formulář (tlačítek, textových polí a podobně) a kódu.

  • Kompilace projekt do knihovny DLL.

  • Vytvořit nový Visual Studio doplněkprojekt (nebo jiný projekt, jako například Windows aplikace projekt).

  • Použití CreateToolWindow2 metoda vytvořit panel nástrojů hostitel nový ovládací prvek uživatele.

Před vyvoláním CreateToolWindow2 vytvořit nové panel nástrojů, můžete buď přesunout uživatelský ovládací prvek (ControlObject) do stejné sestavení jako doplněknebo nastavit všechny atributy uživatele tak, aby plně viditelná model COMřízení.(Například kontrola registrovat pro volání interop model COM možnost možnosti kompilovat projekt.) Pokud to neprovedete, je ovládací prvek nebude správně zařazovat a CreateToolWindow2 vrátí hodnotu null.

Kromě níže uvedených příkladech Další panel nástrojů vzorků pro každý jazyk, jakož i dalších příkladů kódu jsou na AutomatizaceUkázky Visual Studioweb .

[!POZNÁMKA]

Chcete-li nastavit viditelnost států nové panel nástrojů – jako je například výška, šířka nebo pozice – před panel nástrojů je viditelné, dostanete chyba.Ujistěte se, že okno je viditelné před pokusem o nastavení těchto vlastností.

[!POZNÁMKA]

Dialogová okna a příkazy v nabídkách menu, které vidíte, se mohou lišit od těch popsaných v nápovědě, v závislosti na vašich aktivních nastaveních nebo edici.Tyto postupy byly vyvinuty s aktivní Obecné nastavení pro vývoj.Chcete-li změnit nastavení, zvolte Import a ExportNastavení na Nástrojenabídka. Další informace naleznete v tématu Nastavení aplikace Visual Studio.

Vytvoření vlastní okno nástroje

Následující příklad ukazuje, jak vytvořit panel nástrojů v Visual Basic a Visual C#.

[!POZNÁMKA]

Následující kód musí být provedeny v doplňku; nelze provést v makro.

vytvořit vlastní panel nástrojů

  • Vytvořte ovládací prvek uživatel v projektřídicí knihovna systému Windows.Přijměte výchozí název "WindowsControlLibrary1" nebo se ujistěte, změnit název asmPath parametr v shodovat s názvem projektřídicí knihovna systému Windows následující kód.

    V kódu, můžete případně odkaz na existující ovládací prvek uživatel .

[!POZNÁMKA]

Musí mít ovládací prvek třída uživatel System.Runtime.InteropServices.GuidAttribute připojené k definici třída .

  1. Vytvořte nový doplněk projekt.

    Informace naleznete v části Jak: Vytvoření doplňku.

  2. Nahradit OnConnection metoda doplněk s následující:

    Public Sub OnConnection(ByVal application As Object, ByVal _
    connectMode As ext_ConnectMode, ByVal addInInst As Object, _
    ByRef custom As Array) Implements IDTExtensibility2.OnConnection
        Try
            ' ctlProgID - the ProgID for your user control.
            ' asmPath - the path to your user control DLL.
            ' guidStr - a unique GUID for the user control.
            Dim ctlProgID, asmPath, guidStr As String
            ' Variables for the new tool window that will hold
            ' your user control.
            Dim toolWins As EnvDTE80.Windows2
            Dim toolWin As EnvDTE.Window
            Dim objTemp As Object = Nothing
    
            _applicationObject = CType(application, DTE2)
            _addInInstance = CType(addInInst, AddIn)
            ctlProgID = "WindowsControlLibrary2.UserControl1"
            ' Replace the <Path to VS Project> with the path to
            ' the folder where you created the WindowsCotrolLibrary.
            ' Remove the line returns from the path before 
            ' running the add-in.
            asmPath = "<Path to VS Project>\My _
              Documents\Visual Studio 2005\Projects\ _
              WindowsControlLibrary2\WindowsControlLibrary2\_
              bin\Debug\WindowsControlLibrary2.dll"
            guidStr = "{E9C60F2B-F01B-4e3e-A551-C09C62E5F584}"
    
            toolWins = CType(_applicationObject.Windows, Windows2)
            ' Create the new tool window, adding your user control.
            toolWin = toolWins.CreateToolWindow2(_addInInstance, _
              asmPath, ctlProgID, "MyNewToolwindow", guidStr, objTemp)
            ' The tool window must be visible before you do anything 
            ' with it, or you will get an error.
            If Not toolWin Is Nothing Then
                toolWin.Visible = True
            End If
               ' Uncomment the code below to set the new tool window's
               ' height and width, and to close it.
            ' MsgBox("Setting the height to 500 and width to 400...")
            ' toolWin.Height = 500
            ' toolWin.Width = 400
            ' MsgBox("Closing the tool window...")
            ' toolWin.Close(vsSaveChanges.vsSaveChangesNo)
    
        Catch ex As Exception
            MsgBox("Exception: " & ex.ToString)
        End Try
    End Sub
    
    // Before running, add a reference to System.Windows.Forms, 
    // using System.Windows.Forms, to the top of the class.
    public void OnConnection(object application, 
    ext_ConnectMode connectMode, object addInInst, ref Array custom)
    {
        try
        {
            // ctlProgID - the ProgID for your user control.
            // asmPath - the path to your user control DLL.
            // guidStr - a unique GUID for the user control.
            string ctlProgID, asmPath, guidStr;
            // Variables for the new tool window that will hold
            // your user control.
            EnvDTE80.Windows2 toolWins;
            EnvDTE.Window toolWin;
            object objTemp = null;
    
            _applicationObject = (DTE2)application;
            _addInInstance = (AddIn)addInInst;
            ctlProgID = "WindowsControlLibrary2.UserControl1";
            // Replace the <Path to VS Project> with the path to
            // the folder where you created the WindowsCotrolLibrary.
            // Remove the line returns from the path before 
            // running the add-in.
            asmPath = @"c:\My Documents\Visual Studio 2005\Projects\
              WindowsControlLibrary2\WindowsControlLibrary2\bin\
              Debug\WindowsControlLibrary2.dll";
            guidStr = "{E9C60F2B-F01B-4e3e-A551-C09C62E5F584}";
    
            toolWins = (Windows2)_applicationObject.Windows;
            // Create the new tool window, adding your user control.
            toolWin = toolWins.CreateToolWindow2(_addInInstance, 
              asmPath, ctlProgID, "MyNewToolwindow", guidStr, 
              ref objTemp);
            // The tool window must be visible before you do anything 
            // with it, or you will get an error.
            if (toolWin != null)
            {
                toolWin.Visible = true;
            }
            // Set the new tool window's height and width, 
            // and then close it.
            System.Windows.Forms.MessageBox.Show("Setting the height 
            to 500 and width to 400...");
            toolWin.Height = 500;
            toolWin.Width = 400;
            System.Windows.Forms.MessageBox.Show
              ("Closing the tool window...");
            toolWin.Close(vsSaveChanges.vsSaveChangesNo);
        }
        catch (Exception ex)
        {
            System.Windows.Forms.MessageBox.Show("Exception: " 
              + ex.Message);
        }
    }
    

    Poznámka: předcházející kód vyžaduje odkazovat se System.Windows.Forms obor názvů.

  3. Změna hodnot ctlProgID, asmPath, a guidStr proměnné, které odrážejí váš uživatel ovládací prvek.

  4. Sestavte a spusťte projekt.

  5. Na Nástroje nabídka, klepněte na tlačítko Správce doplňků vybrat doplněk.

Zobrazí se nové panel nástrojů plovoucí v IDE.Přesunout kamkoli chcete nebo ukotvit jej s jinými nástroje systému windows.

Viz také

Úkoly

Jak: změnit vlastnosti okna

Jak: Vytvoření doplňku

Názorný postup: Vytvoření Průvodce

Koncepty

Řídit možnosti nastavení

Automatizační objekt modelu grafu

Další zdroje

Vytváření a řízení prostředí Windows

Vytváření doplňků a průvodců

Automatizace a Reference rozšiřitelnosti