ListBox.IndexFromPoint ListBox.IndexFromPoint ListBox.IndexFromPoint ListBox.IndexFromPoint Method

Definizione

Restituisce l'indice in base zero dell'elemento in corrispondenza delle coordinate specificate.Returns the zero-based index of the item at the specified coordinates.

Overload

IndexFromPoint(Point) IndexFromPoint(Point) IndexFromPoint(Point) IndexFromPoint(Point)

Restituisce l'indice in base zero dell'elemento in corrispondenza delle coordinate specificate.Returns the zero-based index of the item at the specified coordinates.

IndexFromPoint(Int32, Int32) IndexFromPoint(Int32, Int32) IndexFromPoint(Int32, Int32) IndexFromPoint(Int32, Int32)

Restituisce l'indice in base zero dell'elemento in corrispondenza delle coordinate specificate.Returns the zero-based index of the item at the specified coordinates.

IndexFromPoint(Point) IndexFromPoint(Point) IndexFromPoint(Point) IndexFromPoint(Point)

Restituisce l'indice in base zero dell'elemento in corrispondenza delle coordinate specificate.Returns the zero-based index of the item at the specified coordinates.

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

Parametri

p
Point Point Point Point

Oggetto Point che contiene le coordinate utilizzate per ottenere l'indice dell'elemento.A Point object containing the coordinates used to obtain the item index.

Restituisce

L'indice in base zero dell'elemento trovato alle coordinate specificate; restituisce ListBox.NoMatches se non viene trovata alcuna corrispondenza.The zero-based index of the item found at the specified coordinates; returns ListBox.NoMatches if no match is found.

Esempi

Esempio di codice seguente viene illustrato come eseguire operazioni di trascinamento e rilascio usando un ListBox controllo che contiene gli elementi da trascinare in un RichTextBox controllo.The following code example demonstrates how to perform drag-and-drop operations using a ListBox control that contains items to drop into a RichTextBox control. Il costruttore del form imposta i AllowDrop proprietà true per consentire operazioni di trascinamento e rilascio avviene nel RichTextBox.The constructor of the form sets the AllowDrop property to true to enable drag-and-drop operations to occur in the RichTextBox. L'esempio Usa la MouseDown eventi del ListBox per avviare l'operazione di trascinamento chiamando il DoDragDrop (metodo).The example uses the MouseDown event of the ListBox to start the drag operation by calling the DoDragDrop method. Nell'esempio viene usato il DragEnter evento per determinare se un elemento viene trascinato il RichTextBox è un tipo di dati validi.The example uses the DragEnter event to determine if an item being dragged into the RichTextBox is a valid data type. Il DragDrop eventi esegue l'effettivo rilascio di un elemento trascinato nel RichTextBox controllo in corrispondenza della posizione corrente del cursore all'interno di RichTextBox.The DragDrop event performs the actual dropping of a dragged item into the RichTextBox control at the current cursor location within the RichTextBox. Questo esempio si presuppone che il DragDrop e DragEnter eventi siano stati collegati ai gestori eventi definiti nell'esempio.This example requires that the DragDrop and DragEnter events have been connected to the event handlers defined in the example.

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 'listBox1_MouseDown


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 'richTextBox1_DragEnter

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 'richTextBox1_DragDrop

Commenti

Questo metodo consente di determinare quale elemento si trova in una posizione specifica all'interno del controllo.This method enables you to determine which item is located at a specific location within the control. È possibile usare questo metodo per determinare quale elemento all'interno dell'elenco è selezionato quando l'utente fa clic di ListBox.You can use this method to determine which item within the list is selected when a user right-clicks the ListBox. La posizione del cursore può essere determinata e passata al p parametro il IndexFromPoint metodo per determinare quale elemento viene selezionata il puntatore del mouse su.The location of the cursor can be determined and passed to the p parameter of the IndexFromPoint method to determine which item the user right-clicked the mouse over. È quindi possibile visualizzare un menu di scelta rapida per l'utente per fornire le attività e funzionalità in base a un elemento specifico.You can then display a shortcut menu to the user to provide tasks and features based on the specific item.

IndexFromPoint(Int32, Int32) IndexFromPoint(Int32, Int32) IndexFromPoint(Int32, Int32) IndexFromPoint(Int32, Int32)

Restituisce l'indice in base zero dell'elemento in corrispondenza delle coordinate specificate.Returns the zero-based index of the item at the specified coordinates.

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

Parametri

x
Int32 Int32 Int32 Int32

Coordinata x della posizione da cercare.The x-coordinate of the location to search.

y
Int32 Int32 Int32 Int32

Coordinata y della posizione da cercare.The y-coordinate of the location to search.

Restituisce

L'indice in base zero dell'elemento trovato alle coordinate specificate; restituisce ListBox.NoMatches se non viene trovata alcuna corrispondenza.The zero-based index of the item found at the specified coordinates; returns ListBox.NoMatches if no match is found.

Esempi

Esempio di codice seguente viene illustrato come eseguire operazioni di trascinamento e rilascio usando un ListBox controllo che contiene gli elementi da trascinare in un RichTextBox controllo.The following code example demonstrates how to perform drag-and-drop operations using a ListBox control that contains items to drop into a RichTextBox control. Il costruttore del form imposta i AllowDrop proprietà true per consentire operazioni di trascinamento e rilascio avviene nel RichTextBox.The constructor of the form sets the AllowDrop property to true to enable drag-and-drop operations to occur in the RichTextBox. L'esempio Usa la MouseDown eventi del ListBox per avviare l'operazione di trascinamento chiamando il DoDragDrop (metodo).The example uses the MouseDown event of the ListBox to start the drag operation by calling the DoDragDrop method. Nell'esempio viene usato il DragEnter evento per determinare se un elemento viene trascinato il RichTextBox è un tipo di dati validi.The example uses the DragEnter event to determine if an item being dragged into the RichTextBox is a valid data type. Il DragDrop eventi esegue l'effettivo rilascio di un elemento trascinato nel RichTextBox controllo in corrispondenza della posizione corrente del cursore all'interno di RichTextBox.The DragDrop event performs the actual dropping of a dragged item into the RichTextBox control at the current cursor location within the RichTextBox. Questo esempio si presuppone che il DragDrop e DragEnter eventi siano stati collegati ai gestori eventi definiti nell'esempio.This example requires that the DragDrop and DragEnter events have been connected to the event handlers defined in the example.

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 'listBox1_MouseDown


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 'richTextBox1_DragEnter

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 'richTextBox1_DragDrop

Commenti

Questo metodo consente di determinare quale elemento che si trova in una posizione specifica all'interno del controllo.This method enables you to determine which item that is located at a specific location within the control. È possibile usare questo metodo per determinare quale elemento all'interno dell'elenco è selezionato quando l'utente fa clic di ListBox.You can use this method to determine which item within the list is selected when a user right-clicks the ListBox. La posizione del cursore può essere determinata e passata al x e y i parametri del IndexFromPoint metodo per determinare quale elemento viene selezionata il puntatore del mouse su.The location of the cursor can be determined and passed to the x and y parameters of the IndexFromPoint method to determine which item the user right-clicked the mouse over. È quindi possibile visualizzare un menu di scelta rapida per l'utente per fornire le attività e funzionalità in base a un elemento specifico.You can then display a shortcut menu to the user to provide tasks and features based on the specific item.

Si applica a