Window2.Activate 方法

定义

将焦点移动到当前项。

public:
 void Activate();
public:
 void Activate();
void Activate();
[System.Runtime.InteropServices.DispId(131)]
public void Activate ();
[<System.Runtime.InteropServices.DispId(131)>]
abstract member Activate : unit -> unit
Public Sub Activate ()

实现

属性

示例

此示例将文本文件作为活动窗口。 然后,它使用它来循环访问 windows 集合并显示该窗口的包含项目和项目项的名称。

在运行此示例之前,请在中打开一个项目 Visual Studio ,向其添加一个名为 "TextFile1.txt" 的文本文件,并使其成为活动窗口。

Imports EnvDTE  
Imports EnvDTE80  
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 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);  
    }  
}  

注解

Activate调用时,就好像用户单击了该项,但没有单击事件发生。

适用于