Jak: tworzenie i sterowanie narzędzie Windows
System Windows w Visual Studio dzielą się na jednej z dwóch kategorii: dokument systemu windows lub narzędzia systemu windows.okno dokumentu jest jeden, którego zawartość jest edytowalny przez Edytor kodu, takich jak plik tekstowy, HTMLlub kod wewnątrz klasy.okno narzędzi zawiera jeden lub więcej formantów, takich jak przyciski, tekstu, pola kombi i tak dalej.Visual Studio Zintegrowanego środowisko (IDE) wykorzystuje formanty do wykonywania zadań, takich jak ustawienie opcji wyświetlania błędów lub edycji elementów projekt .Przykłady te są danych wyjściowych okno Listy zadańoraz Przybornik. Przybornik można przenosić IDE swobodnie lub zadokowane inne narzędzia systemu windows, można użyć LinkedWindows kolekcji programowo łączenie lub rozłączanie narzędzie windows w IDE.Aby uzyskać więcej informacji, zobacz Jak: Zmienianie właściwości okna.
Oprócz manipulować istniejące narzędzia systemu windows przy użyciu automatyzacji, można również utworzyć własne niestandardowe narzędzie windows przy użyciu CreateToolWindow2 metoda Windows2 kolekcji.
Tworząc własne niestandardowe okno narzędzi można wypełnić z formantami przydatne do wykonywania zadań.Niestandardowe okno narzędzi może na przykład użyć do wyświetlania specjalistyczne narzędzia ułatwiające format kodu, śledzić i zmieniać ustawienia zmienna lub wykonywać zadania zaawansowane debugowanie lub źródła profilowania.
procedura tworzenia niestandardowych okno narzędzi jest:
Tworzenie formantu użytkownika (przy użyciu Biblioteka formantów systemu Windows projekt)
Dodaj żądane formanty na formularz (przycisków, pól tekstowych itd.) i kodu.
Skompiluj projekt do biblioteki DLL.
Utwórz nowy Visual Studio dodatekprojekt (lub innych projekt, takich jak aplikacji Windows projekt).
Użyj CreateToolWindow2 metoda utworzyć okno narzędzi do host nowego formantu użytkownika.
Przed wywołaniem CreateToolWindow2 do utworzyć nowych okno narzędzi, albo należy przenosić formantu użytkownika (ControlObject) do tego samego zestaw jako dodateklub zestawu wszystkie atrybuty użytkownika kontroli, aby całkowicie widoczna dla COM.(Na przykład sprawdzania zarejestrować do współdziałania z modelem COM opcji w opcjach kompilować projekt.) Jeśli nie należy tego robić, wówczas formant nie będzie poprawnie skierować i CreateToolWindow2 zwróci wartość null.
Oprócz poniższych przykładach dodatkowe okno narzędzi próbek dla każdego języka, jak również inne przykłady kodu są na AutomatyzacjaPrzykłady Visual Studiowitrynysieć Web .
[!UWAGA]
Jeśli próba ustaw dowolne spośród Państw widoczności nowe okno narzędzi — takie jak wysokość, szerokość lub stanowisko — przed okno narzędzi jest widoczny, będzie komunikat o błędzie.Upewnij się, że okno jest widoczny, przed przystąpieniem do takich właściwości.
[!UWAGA]
Okien dialogowych i poleceń menu , którą widzisz mogą różnić się od tych opisanych w pomocy, w zależności od tego, aktywne ustawienia lub edition.Procedury te zostały opracowane z ogólnych ustawień rozwoju aktywnych.Aby zmienić ustawienia, wybierz polecenie przywóz i wywózUstawienia na Narzędziamenu. Aby uzyskać więcej informacji, zobacz Visual Studio, ustawienia.
Tworzenie okna narzędzia niestandardowe
Poniższy przykład ilustruje sposób utworzyć w okno narzędzi w Visual Basic i Visual C#.
[!UWAGA]
Poniższy kod musi być wykonane w dodatku; nie może być ono wykonane w makro.
Aby utworzyć niestandardowe okno narzędzi
Biblioteka formantów systemu Windows projekt, należy utworzyć formant użytkownik .Zaakceptuj domyślną nazwę "WindowsControlLibrary1" lub upewnij się, Zmień nazwę asmPath parametr w kodzie poniżej zgodna z nazwą projektBiblioteka formantów systemu Windows.
Alternatywnie w kodzie, może odnosić do istniejącego formantu użytkownik .
[!UWAGA]
Klasy formantu użytkownik musi mieć System.Runtime.InteropServices.GuidAttribute dołączonych do definicji klasy.
Utwórz nowy w projekt.
Aby uzyskać informacje, zobacz Jak: Tworzenie dodatku.
Zastąpić OnConnection metoda dodatek z następujących czynności:
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); } }
Uwaga powyższy kod wymaga odwołania do System.Windows.Forms przestrzeń nazw.
Zmiana wartości ctlProgID, asmPath, i guidStr zmiennych, które odzwierciedlają kontrolki użytkownik .
Tworzenie i uruchamianie projekt.
Na Narzędzia menu, kliknij przycisk - W Menedżerze Aby aktywować dodatek.
Zobacz jest Twoje nowe okno narzędzi przestawne w IDE.Można go przenieść, gdziekolwiek chcesz lub zadokować z systemu windows inne narzędzie.
Zobacz też
Zadania
Jak: Zmienianie właściwości okna
Instruktaż: Tworzenie kreatora
Koncepcje
Wykres modelu obiektu automatyzacji
Inne zasoby
Tworzenia i kontrolowania środowisku systemu Windows.