Windows2.CreateToolWindow2-Methode
Erstellt ein neues Toolfenster und hostet darin ein benutzerdefiniertes .NET-Steuerelement.
Namespace: EnvDTE80
Assembly: EnvDTE80 (in EnvDTE80.dll)
Syntax
'Declaration
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
Parameter
- Addin
Typ: EnvDTE.AddIn
Eine Instanz des Add-Ins, das das Toolfenster erstellt.
- Assembly
Typ: System.String
Der vollständige Name oder der Dateipfad der Assembly, die das Benutzersteuerelement enthält.
- Class
Typ: System.String
Der vollständige Name der Klasse, die das Benutzersteuerelement implementiert.
- Caption
Typ: System.String
Die im neuen Toolfenster anzuzeigende Beschriftung.
- GuidPosition
Typ: System.String
Ein eindeutiger Bezeichner für das neue Fenster.(Dieser kann verwendet werden, um das Fenster in der Windows-Auflistung zu suchen.)
- ControlObject
Typ: System.Object%
Das Benutzersteuerelement, das im neuen Toolfenster gehostet werden soll.
Rückgabewert
Typ: EnvDTE.Window
Ein Window-Objekt.
Hinweise
Bevor Sie CreateToolWindow2 aufrufen, um ein neues Toolfenster zu erstellen, sollten Sie entweder das Benutzersteuerelement (ControlObject) in die gleiche Assembly wie das Add-In verschieben oder alle Attribute des Benutzersteuerelements aktivieren, um es für COM vollständig sichtbar zu machen.(Hierzu gehört z. B. das Aktivieren der Option Für COM-Interop registrieren in den Kompilierungsoptionen des Projekts.) Andernfalls kann das Steuerelement kein ordnungsgemäßes Marshalling durchführen, und CreateToolWindow2 gibt einen NULL-Wert zurück.
Wenn Sie versuchen, Sichtbarkeitszustände des neuen Toolfensters, wie Höhe, Breite oder Position, einzurichten, bevor das Toolfenster sichtbar ist, wird ein Fehler erzeugt.Stellen Sie sicher, dass das Fenster sichtbar ist, bevor Sie versuchen, solche Eigenschaften festzulegen.
Weitere Beispiele für die Verwendung dieser Methode finden Sie im Beispiel zu Toolfenstern auf der Webseite für Visual Studio-Automatisierungsbeispiele: https://www.microsoft.com/downloads/details.aspx?familyid=3ff9c915-30e5-430e-95b3-621dccd25150&displaylang=en.Informationen über dei Erstellung von ActiveX-Steuerelementen finden Sie unter Erstellen eines MFC-ActiveX-Steuerelements.
Beispiele
Für das folgende Beispiel muss zuvor ein Benutzersteuerelement erstellt werden. Erstellen Sie dazu ein Windows-Steuerelementbibliothek-Projekt.Notieren Sie den Namen des Projekts und der Klasse für das Steuerelement.Ändern Sie die assemblypath-Zeichenfolge in das Verzeichnis für die DLL-Datei des Benutzersteuerelements.Der Code ist zum Ersetzen der OnConnection-Methode eines Add-In-Projekts bestimmt.
[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;
}
.NET Framework-Sicherheit
- Volle Vertrauenswürdigkeit für den unmittelbaren Aufrufer. Dieser Member kann von nur teilweise vertrauenswürdigem Code nicht verwendet werden. Weitere Informationen finden Sie unter Verwenden von Bibliotheken aus teilweise vertrauenswürdigem Code.
Siehe auch
Referenz
Weitere Ressourcen
Gewusst wie: Erstellen und Steuern von Toolfenstern
Gewusst wie: Kompilieren und Ausführen der Codebeispiele für das Automatisierungsobjektmodell