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: AddInWystąpienie dodatek tworzenia okna narzędzia.
Assembly
Typ: StringPełna nazwa lub ścieżka pliku zestawu zawierającego formant użytkownika.
Class
Typ: StringPełna nazwa klasy implementującej kontroli użytkownika.
Caption
Typ: StringPodpis do wyświetlenia w nowym oknie Narzędzie.
GuidPosition
Typ: StringIdentyfikator 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
- Pełne zaufanie do bezpośredniego wywołującego. Tego elementu członkowskiego nie można używać w kodzie częściowo zaufanym. Aby uzyskać więcej informacji, zobacz Używanie bibliotek pochodzących z częściowo zaufanego kodu.
Zobacz też
Informacje
Inne zasoby
Porady: tworzenie i kontrolowanie okien narzędzi
Porady: kompilowanie i uruchamianie kodu modelu obiektów automatyzacji — przykłady