ListBox.IndexFromPoint 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
지정된 좌표에 있는 항목의 0부터 시작하는 인덱스를 반환합니다.
오버로드
IndexFromPoint(Point) |
지정된 좌표에 있는 항목의 0부터 시작하는 인덱스를 반환합니다. |
IndexFromPoint(Int32, Int32) |
지정된 좌표에 있는 항목의 0부터 시작하는 인덱스를 반환합니다. |
IndexFromPoint(Point)
- Source:
- ListBox.cs
- Source:
- ListBox.cs
- Source:
- ListBox.cs
지정된 좌표에 있는 항목의 0부터 시작하는 인덱스를 반환합니다.
public:
int IndexFromPoint(System::Drawing::Point p);
public int IndexFromPoint (System.Drawing.Point p);
member this.IndexFromPoint : System.Drawing.Point -> int
Public Function IndexFromPoint (p As Point) As Integer
매개 변수
반환
지정된 좌표에 있는 항목의 인덱스(0부터 시작)입니다. 일치하는 항목이 없으면 ListBox.NoMatches
를 반환합니다.
예제
다음 코드 예제에서는 끌어서 놓을 항목을 포함 하는 컨트롤을 ListBox 사용 하 여 끌어서 놓기 작업을 수행 하는 방법을 보여 줍니다는 컨트롤입니다 RichTextBox . 폼의 생성자는 속성을 true
로 설정 AllowDrop 하여 에서 RichTextBox끌어서 놓기 작업을 수행할 수 있도록 합니다. 예제에서는 합니다 MouseDown 의 이벤트를 ListBox 호출 하 여 끌기 작업을 시작 하려면를 DoDragDrop 메서드. 이 예제에서는 이벤트를 사용하여 DragEnter 로 끌어가 RichTextBox 는 항목이 유효한 데이터 형식인지 확인합니다. 이벤트는 DragDrop 내의 현재 커서 위치에서 컨트롤에 RichTextBox 끌어 놓은 항목의 실제 삭제를 RichTextBox수행합니다. 이 예제에서는 DragDrop 및 DragEnter 이벤트가 예제에 정의된 이벤트 처리기에 연결되어야 합니다.
public:
Form1()
{
InitializeComponent();
// Sets the control to allow drops, and then adds the necessary event handlers.
this->richTextBox1->AllowDrop = true;
}
private:
void listBox1_MouseDown( Object^ sender, System::Windows::Forms::MouseEventArgs^ e )
{
// Determines which item was selected.
ListBox^ lb = (dynamic_cast<ListBox^>(sender));
Point pt = Point(e->X,e->Y);
//Retrieve the item at the specified location within the ListBox.
int index = lb->IndexFromPoint( pt );
// Starts a drag-and-drop operation.
if ( index >= 0 )
{
// Retrieve the selected item text to drag into the RichTextBox.
lb->DoDragDrop( lb->Items[ index ]->ToString(), DragDropEffects::Copy );
}
}
void richTextBox1_DragEnter( Object^ /*sender*/, DragEventArgs^ e )
{
// If the data is text, copy the data to the RichTextBox control.
if ( e->Data->GetDataPresent( "Text" ) )
e->Effect = DragDropEffects::Copy;
}
void richTextBox1_DragDrop( Object^ /*sender*/, DragEventArgs^ e )
{
// Paste the text into the RichTextBox where at selection location.
richTextBox1->SelectedText = e->Data->GetData( "System.String", true )->ToString();
}
public Form1()
{
InitializeComponent();
// Sets the control to allow drops, and then adds the necessary event handlers.
this.richTextBox1.AllowDrop = true;
}
private void listBox1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
// Determines which item was selected.
ListBox lb =( (ListBox)sender);
Point pt = new Point(e.X,e.Y);
//Retrieve the item at the specified location within the ListBox.
int index = lb.IndexFromPoint(pt);
// Starts a drag-and-drop operation.
if(index>=0)
{
// Retrieve the selected item text to drag into the RichTextBox.
lb.DoDragDrop(lb.Items[index].ToString(), DragDropEffects.Copy);
}
}
private void richTextBox1_DragEnter(object sender, DragEventArgs e)
{
// If the data is text, copy the data to the RichTextBox control.
if(e.Data.GetDataPresent("Text"))
e.Effect = DragDropEffects.Copy;
}
private void richTextBox1_DragDrop(object sender, DragEventArgs e)
{
// Paste the text into the RichTextBox where at selection location.
richTextBox1.SelectedText = e.Data.GetData("System.String", true).ToString();
}
Public Sub New()
MyBase.New()
'This call is required by the Windows Form Designer.
InitializeComponent()
richTextBox1.AllowDrop = True
End Sub
Private Sub listBox1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles listBox1.MouseDown
' Determines which item was selected.
Dim lb As ListBox = CType(sender, ListBox)
Dim pt As New Point(e.X, e.Y)
'Retrieve the item at the specified location within the ListBox.
Dim index As Integer = lb.IndexFromPoint(pt)
' Starts a drag-and-drop operation.
If index >= 0 Then
' Retrieve the selected item text to drag into the RichTextBox.
lb.DoDragDrop(lb.Items(index).ToString(), DragDropEffects.Copy)
End If
End Sub
Private Sub richTextBox1_DragEnter(ByVal sender As Object, ByVal e As DragEventArgs) Handles richTextBox1.DragEnter
' If the data is text, copy the data to the RichTextBox control.
If e.Data.GetDataPresent("Text") Then
e.Effect = DragDropEffects.Copy
End If
End Sub
Private Sub richTextBox1_DragDrop(ByVal sender As Object, ByVal e As DragEventArgs) Handles richTextBox1.DragDrop
' Paste the text into the RichTextBox where at selection location.
richTextBox1.SelectedText = e.Data.GetData("System.String", True).ToString()
End Sub
설명
이 메서드를 사용하면 컨트롤 내의 특정 위치에 있는 항목을 확인할 수 있습니다. 이 메서드를 사용하여 사용자가 를 마우스 오른쪽 단추로 클릭할 때 목록 내의 항목을 선택할 수 있습니다.ListBox 커서의 위치를 결정 하 고 전달할 수 있습니다는 p
의 매개 변수는 IndexFromPoint 사용자는 항목을 확인할 메서드를 통해 마우스 마우스 오른쪽 단추로 클릭 합니다. 그런 다음 사용자에게 바로 가기 메뉴를 표시하여 특정 항목에 따라 작업 및 기능을 제공할 수 있습니다.
적용 대상
IndexFromPoint(Int32, Int32)
- Source:
- ListBox.cs
- Source:
- ListBox.cs
- Source:
- ListBox.cs
지정된 좌표에 있는 항목의 0부터 시작하는 인덱스를 반환합니다.
public:
int IndexFromPoint(int x, int y);
public int IndexFromPoint (int x, int y);
member this.IndexFromPoint : int * int -> int
Public Function IndexFromPoint (x As Integer, y As Integer) As Integer
매개 변수
- x
- Int32
검색할 위치의 X 좌표입니다.
- y
- Int32
검색할 위치의 Y 좌표입니다.
반환
지정된 좌표에 있는 항목의 인덱스(0부터 시작)입니다. 일치하는 항목이 없으면 ListBox.NoMatches
를 반환합니다.
예제
다음 코드 예제에서는 끌어서 놓을 항목을 포함 하는 컨트롤을 ListBox 사용 하 여 끌어서 놓기 작업을 수행 하는 방법을 보여 줍니다는 컨트롤입니다 RichTextBox . 폼의 생성자는 속성을 true
로 설정 AllowDrop 하여 에서 RichTextBox끌어서 놓기 작업을 수행할 수 있도록 합니다. 예제에서는 합니다 MouseDown 의 이벤트를 ListBox 호출 하 여 끌기 작업을 시작 하려면를 DoDragDrop 메서드. 이 예제에서는 이벤트를 사용하여 DragEnter 로 끌어가 RichTextBox 는 항목이 유효한 데이터 형식인지 확인합니다. 이벤트는 DragDrop 내의 현재 커서 위치에서 컨트롤에 RichTextBox 끌어 놓은 항목의 실제 삭제를 RichTextBox수행합니다. 이 예제에서는 DragDrop 및 DragEnter 이벤트가 예제에 정의된 이벤트 처리기에 연결되어야 합니다.
public:
Form1()
{
InitializeComponent();
// Sets the control to allow drops, and then adds the necessary event handlers.
this->richTextBox1->AllowDrop = true;
}
private:
void listBox1_MouseDown( Object^ sender, System::Windows::Forms::MouseEventArgs^ e )
{
// Determines which item was selected.
ListBox^ lb = (dynamic_cast<ListBox^>(sender));
Point pt = Point(e->X,e->Y);
//Retrieve the item at the specified location within the ListBox.
int index = lb->IndexFromPoint( pt );
// Starts a drag-and-drop operation.
if ( index >= 0 )
{
// Retrieve the selected item text to drag into the RichTextBox.
lb->DoDragDrop( lb->Items[ index ]->ToString(), DragDropEffects::Copy );
}
}
void richTextBox1_DragEnter( Object^ /*sender*/, DragEventArgs^ e )
{
// If the data is text, copy the data to the RichTextBox control.
if ( e->Data->GetDataPresent( "Text" ) )
e->Effect = DragDropEffects::Copy;
}
void richTextBox1_DragDrop( Object^ /*sender*/, DragEventArgs^ e )
{
// Paste the text into the RichTextBox where at selection location.
richTextBox1->SelectedText = e->Data->GetData( "System.String", true )->ToString();
}
public Form1()
{
InitializeComponent();
// Sets the control to allow drops, and then adds the necessary event handlers.
this.richTextBox1.AllowDrop = true;
}
private void listBox1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
// Determines which item was selected.
ListBox lb =( (ListBox)sender);
Point pt = new Point(e.X,e.Y);
//Retrieve the item at the specified location within the ListBox.
int index = lb.IndexFromPoint(pt);
// Starts a drag-and-drop operation.
if(index>=0)
{
// Retrieve the selected item text to drag into the RichTextBox.
lb.DoDragDrop(lb.Items[index].ToString(), DragDropEffects.Copy);
}
}
private void richTextBox1_DragEnter(object sender, DragEventArgs e)
{
// If the data is text, copy the data to the RichTextBox control.
if(e.Data.GetDataPresent("Text"))
e.Effect = DragDropEffects.Copy;
}
private void richTextBox1_DragDrop(object sender, DragEventArgs e)
{
// Paste the text into the RichTextBox where at selection location.
richTextBox1.SelectedText = e.Data.GetData("System.String", true).ToString();
}
Public Sub New()
MyBase.New()
'This call is required by the Windows Form Designer.
InitializeComponent()
richTextBox1.AllowDrop = True
End Sub
Private Sub listBox1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles listBox1.MouseDown
' Determines which item was selected.
Dim lb As ListBox = CType(sender, ListBox)
Dim pt As New Point(e.X, e.Y)
'Retrieve the item at the specified location within the ListBox.
Dim index As Integer = lb.IndexFromPoint(pt)
' Starts a drag-and-drop operation.
If index >= 0 Then
' Retrieve the selected item text to drag into the RichTextBox.
lb.DoDragDrop(lb.Items(index).ToString(), DragDropEffects.Copy)
End If
End Sub
Private Sub richTextBox1_DragEnter(ByVal sender As Object, ByVal e As DragEventArgs) Handles richTextBox1.DragEnter
' If the data is text, copy the data to the RichTextBox control.
If e.Data.GetDataPresent("Text") Then
e.Effect = DragDropEffects.Copy
End If
End Sub
Private Sub richTextBox1_DragDrop(ByVal sender As Object, ByVal e As DragEventArgs) Handles richTextBox1.DragDrop
' Paste the text into the RichTextBox where at selection location.
richTextBox1.SelectedText = e.Data.GetData("System.String", True).ToString()
End Sub
설명
이 메서드를 사용하면 컨트롤 내의 특정 위치에 있는 항목을 확인할 수 있습니다. 이 메서드를 사용하여 사용자가 를 마우스 오른쪽 단추로 클릭할 때 목록 내의 항목을 선택할 수 있습니다.ListBox 커서의 위치를 확인하고 메서드의 IndexFromPoint 및 y
매개 변수에 x
전달하여 사용자가 마우스를 마우스 오른쪽 단추로 클릭한 항목을 확인할 수 있습니다. 그런 다음 사용자에게 바로 가기 메뉴를 표시하여 특정 항목에 따라 작업 및 기능을 제공할 수 있습니다.
적용 대상
.NET