Window2.Selection 속성
Window 개체의 현재 선택 영역을 나타내는 개체를 가져옵니다.
네임스페이스: EnvDTE80
어셈블리: EnvDTE80(EnvDTE80.dll)
구문
‘선언
ReadOnly Property Selection As Object
Get
Object Selection { get; }
property Object^ Selection {
Object^ get ();
}
abstract Selection : Object
function get Selection () : Object
속성 값
형식: System.Object
개체입니다.
구현
예제
이 예제에서는 텍스트 파일이 활성 창이 됩니다. 그런 다음 이를 사용하여 창 컬렉션을 반복하며 창을 포함하는 프로젝트와 창에 대한 프로젝트 항목의 이름을 표시합니다.
이 예제를 실행하려면 먼저 Visual Studio에서 프로젝트를 열고 "TextFile1.txt"라는 텍스트 파일을 이 프로젝트에 추가합니다. 이 파일에 텍스트를 추가하고 이를 선택합니다. 이 예제에서는 선택된 텍스트를 메시지 상자에 표시합니다.
이 예제를 추가 기능으로 실행하는 방법에 대한 자세한 내용은 방법: 자동화 개체 모델 코드의 예제 컴파일 및 실행을 참조하십시오.
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)
SelectionExample (_applicationObject)
End Sub
Sub SelectionExample (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. Write some text in the file
' and select it.
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 name of the project containing the window: " _
& win.Project.Name)
' Acticate the winodw.
win.Activate()
' Show the name of the current ProjectITem.
MsgBox("The name of the current project item is: " _
& win.ProjectItem.Name)
' How many other windows are available?
Dim w As String = "Available windows are :" & vbCr
For Each wi As Window2 In win.Collection
w = w & wi.Caption & vbCr
Next
MsgBox(w)
' Show the selected text.
MsgBox(CType(win.Selection, TextSelection).Text _
& " is selected.")
' Determine that the document returned by the
' document property
' is the same as the document object 'doc'.
If win.Document Is doc Then
MsgBox("The documents match!")
Else
MsgBox("The documents do not match.")
End If
' 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;
SelectionExample(_applicationObject);
}
public void SelectionExample(DTE2 dte)
{
try
{
// Before running, create a text file named
// "TextFile1.txt", include it in your solution,
// and make it the active window. Write some text in the file
// and select it.
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("The name of the containing project is : "
+ win.Project.Name);
win.Activate(); // Activate the window
// Show the name of the current ProjectItem in the window.
MessageBox.Show("The name of the project item is: "
+ win.ProjectItem.Name);
// How many other windows are available?
string w = "Available windows:\n";
foreach (Window wi in win.Collection)
{
w = w + wi.Caption + "\n";
}
MessageBox.Show(w);
// Show the selected text.
MessageBox.Show(((TextSelection)win.Selection).Text
+ " is selected.");
// Determine that the document returned by the document
// property is the same as the document object 'doc'.
if (win.Document.Equals(doc))
MessageBox.Show("The documents match!");
Else
MessageBox.Show("The documents do not match!");
// Close the window.
win.Close(vsSaveChanges.vsSaveChangesNo);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
.NET Framework 보안
- 직접 실행 호출자의 경우 완전히 신뢰합니다. 이 멤버는 부분적으로 신뢰할 수 있는 코드에서 사용할 수 없습니다. 자세한 내용은 부분 신뢰 코드에서 라이브러리 사용을 참조하십시오.