Поделиться через


Window2.Activate Method

Moves the focus to the current item.

Namespace:  EnvDTE80
Assembly:  EnvDTE80 (in EnvDTE80.dll)

Syntax

'Declaration
Sub Activate
void Activate()
void Activate()
abstract Activate : unit -> unit 
function Activate()

Implements

Window.Activate()

Remarks

When Activate is invoked, it is as if the user clicked the item, but no click events occur.

Examples

This example makes a text file the active window. It then uses it to iterate through the windows collection and to display the name of the containing project and project item for the window.

Before running this example, open a project in Visual Studio, add a text file named "TextFile1.txt" to it, and make it the active window.

For more information about how to run this example as an add-in, see How to: Compile and Run the Automation Object Model Code Examples.

Imports EnvDTE
Imports EnvDTE80
Public Sub OnConnection(ByVal application As Object, _
 ByVal connectMode As ext_ConnectMode, ByVal addInInst As Object, _
 ByRef custom As Array) Implements IDTExtensibility2.OnConnection
    _applicationObject = CType(application, DTE2)
    _addInInstance = CType(addInInst, AddIn)
    WinActivateExample(_applicationObject)
End Sub
Sub WinActivateExample(ByVal dte As DTE2)
    Try
        ' Before running, create a text file named
        ' "TextFile1.txt", include it in your solution, 
        ' and make it the active window.
        Dim win As Window2
        Dim doc As Document
        If _applicationObject.Documents.Count > 0 Then
            doc = _applicationObject.Documents.Item("TextFile1.txt")
            win = CType(doc.ActiveWindow, Window2)
            ' Show the name of the Project that contains this
            ' window and document.
            MsgBox("The project that contains this window is named:" _
            & win.Project.Name)
            ' Activate the window.
            win.Activate()
            ' Other available windows.
            Dim w As String = "Other available windows in  _
            the collection:" & vbCr
            For Each wi As Window2 In win.Collection
                w = w & wi.Caption & vbCr
            Next
            MsgBox(w)
            ' Close the window.
            win.Close(vsSaveChanges.vsSaveChangesNo)
        End If
    Catch ex As Exception
        MsgBox(ex.Message)
    End Try
End Sub
using EnvDTE;
using EnvDTE80;
using System.Windows.Forms;
public void OnConnection(object application,
 ext_ConnectMode connectMode, object addInInst, ref Array custom)
{
    _applicationObject = (DTE2)application;
    _addInInstance = (AddIn)addInInst;
    WinActivateExample(_applicationObject);
}
public void WinActivateExample(DTE2 dte)
{
    try
    {
       // Before running, create a text file named 
        // "TextFile1.txt" and include it in your solution.
        // You do not need to make it the active window.
        Window win;
        Document doc;
        if (dte.Documents.Count > 0)
        {
            doc = dte.Documents.Item("TextFile1.txt");
            win = doc.ActiveWindow;
            // Show the name of the project that contains this 
            // window and document.
            MessageBox.Show(win.Project.Name);
            win.Activate(); // Activate the window
            // Show the name of the current ProjectItem in the window.
            MessageBox.Show(win.ProjectItem.Name);
            // How many other windows are available?
            string w = "Other available windows in the collection:\n";
            foreach (Window wi in win.Collection)
            {
                w = w + wi.Caption + "\n";
            }
            // Close the window.
            win.Close(vsSaveChanges.vsSaveChangesNo);
        }
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}

.NET Framework Security

See Also

Reference

Window2 Interface

EnvDTE80 Namespace