ListBox.IndexFromPoint Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает отсчитываемый от нуля индекс элемента по указанным координатам.
Перегрузки
| Имя | Описание |
|---|---|
| IndexFromPoint(Point) |
Возвращает отсчитываемый от нуля индекс элемента по указанным координатам. |
| IndexFromPoint(Int32, Int32) |
Возвращает отсчитываемый от нуля индекс элемента по указанным координатам. |
IndexFromPoint(Point)
- Исходный код:
- ListBox.cs
- Исходный код:
- ListBox.cs
- Исходный код:
- ListBox.cs
- Исходный код:
- ListBox.cs
- Исходный код:
- ListBox.cs
Возвращает отсчитываемый от нуля индекс элемента по указанным координатам.
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
Параметры
Возвращаемое значение
Отсчитываемый от нуля индекс элемента, найденный по указанным координатам; возвращается ListBox.NoMatches , если совпадение не найдено.
Примеры
В следующем примере кода показано, как выполнять операции перетаскивания с помощью ListBox элемента управления, содержащего элементы для перетаскивания в RichTextBox элемент управления. Конструктор формы задает AllowDrop свойство для true включения операций перетаскивания в объекте 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пользователя. Расположение курсора можно определить и передать pIndexFromPoint параметру метода, чтобы определить, какой элемент пользователь щелкнул правой кнопкой мыши. Затем можно отобразить контекстное меню пользователю, чтобы предоставить задачи и функции на основе определенного элемента.
Применяется к
IndexFromPoint(Int32, Int32)
- Исходный код:
- ListBox.cs
- Исходный код:
- ListBox.cs
- Исходный код:
- ListBox.cs
- Исходный код:
- ListBox.cs
- Исходный код:
- ListBox.cs
Возвращает отсчитываемый от нуля индекс элемента по указанным координатам.
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 расположения для поиска.
Возвращаемое значение
Отсчитываемый от нуля индекс элемента, найденный по указанным координатам; возвращается ListBox.NoMatches , если совпадение не найдено.
Примеры
В следующем примере кода показано, как выполнять операции перетаскивания с помощью ListBox элемента управления, содержащего элементы для перетаскивания в RichTextBox элемент управления. Конструктор формы задает AllowDrop свойство для true включения операций перетаскивания в объекте 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пользователя. Расположение курсора можно определить и передать x в метод и y параметры IndexFromPoint , чтобы определить, какой элемент пользователь щелкнул правой кнопкой мыши. Затем можно отобразить контекстное меню пользователю, чтобы предоставить задачи и функции на основе определенного элемента.