Método Windows2.CreateToolWindow2
Cria uma nova janela de ferramenta e hospeda um user-defined.NET controle nele.
Namespace: EnvDTE80
Assembly: EnvDTE80 (em EnvDTE80.dll)
Sintaxe
'Declaração
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
Parâmetros
- Addin
Tipo: EnvDTE.AddIn
Uma instância de um suplemento que a janela da ferramenta de criação.
- Assembly
Tipo: System.String
O nome completo ou o caminho do arquivo do assembly que contém o controle de usuário.
- Class
Tipo: System.String
O nome completo da classe de implementação do controle de usuário.
- Caption
Tipo: System.String
A legenda para exibir em uma nova janela de ferramenta.
- GuidPosition
Tipo: System.String
Um identificador exclusivo para a nova janela.(Isso pode ser usado para localizar a janela de Windows coleção.)
- ControlObject
Tipo: System.Object%
O controle de usuário para ser hospedado em uma nova janela de ferramenta.
Valor de retorno
Tipo: EnvDTE.Window
A Window objeto.
Comentários
Antes de invocar CreateToolWindow2 para criar uma nova janela de ferramenta, você deve mover o controle de usuário (ControlObject) no mesmo assembly como todos os add-in, ou definir os atributos no controle de usuário para torná-lo totalmente visível para com. (Por exemplo, a verificação de Register for COM interop opções de compilação de opção do projeto.) Se você não fizer isso, o controle não controlará corretamente e CreateToolWindow2 retornará um valor nulo.
Se você tentar definir os estados de visibilidade da nova janela de ferramenta — como, por exemplo, altura, largura ou posição — antes que a janela de ferramentas estiver visível, você obterá um erro. Certifique-se de que a janela está visível antes de tentar definir quaisquer propriedades.
Para obter mais exemplos de como usar esse método, consulte a amostra de ToolWindow na Visual Studio página da Web de amostras de automação: https://www.microsoft.com/downloads/details.aspx?familyid=3ff9c915-30e5-430e-95b3-621dccd25150 & displaylang = en. Para obter informações sobre como criar controles de ActiveX, consulte Criar um controle de ActiveX do MFC.
Exemplos
O exemplo a seguir requer a criar um controle de usuário, criando um projeto de biblioteca de controle do Windows. Anote o nome do projeto e a classe do controle para uso no código a seguir. Altere a seqüência de caracteres assemblypath para o diretório do arquivo DLL do controle de usuário. Além disso, o código é projetado para substituir o OnConnection o método de um suplemento do projeto.
[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;
}
Segurança do .NET Framework
- Confiança total para o chamador imediato. O membro não pode ser usado por código parcialmente confiável. Para obter mais informações, consulte Usando bibliotecas de código parcialmente confiáveis.
Consulte também
Referência
Outros recursos
Como: criar e controlar ferramenta Windows
Como: compilar e Executar a automação de exemplos de Código do modelo de objeto