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

定義

指定した座標にある項目の 0 から始まるインデックス番号を返します。Returns the zero-based index of the item at the specified coordinates.

オーバーロード

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

指定した座標にある項目の 0 から始まるインデックス番号を返します。Returns the zero-based index of the item at the specified coordinates.

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

指定した座標にある項目の 0 から始まるインデックス番号を返します。Returns the zero-based index of the item at the specified coordinates.

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

指定した座標にある項目の 0 から始まるインデックス番号を返します。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

パラメーター

p
Point Point Point Point

項目のインデックスを取得するために使用する座標を保持している Point オブジェクト。A Point object containing the coordinates used to obtain the item index.

戻り値

指定した座標にある項目の 0 から始まるインデックス番号。一致する項目が見つからない場合は ListBox.NoMatches を返します。The zero-based index of the item found at the specified coordinates; returns ListBox.NoMatches if no match is found.

コントロールにドロップする項目を含むListBoxコントロールを使用してドラッグアンドドロップ操作を実行する方法を次のコード例に示します。 RichTextBoxThe following code example demonstrates how to perform drag-and-drop operations using a ListBox control that contains items to drop into a RichTextBox control. フォームのコンストラクターは、 AllowDropプロパティをにtrue設定して、 RichTextBoxでドラッグアンドドロップ操作を実行できるようにします。The constructor of the form sets the AllowDrop property to true to enable drag-and-drop operations to occur in the RichTextBox. この例ではMouseDownListBoxのイベントを使用して、 DoDragDropメソッドを呼び出してドラッグ操作を開始します。The example uses the MouseDown event of the ListBox to start the drag operation by calling the DoDragDrop method. この例ではDragEnter 、イベントを使用して、 RichTextBoxにドラッグされている項目が有効なデータ型であるかどうかを判断します。The example uses the DragEnter event to determine if an item being dragged into the RichTextBox is a valid data type. イベントDragDropRichTextBoxRichTextBoxドラッグされた項目を内の現在のカーソル位置にあるコントロールに実際にドロップします。The DragDrop event performs the actual dropping of a dragged item into the RichTextBox control at the current cursor location within the RichTextBox. この例では、 DragDropイベントDragEnterとイベントが、この例で定義されているイベントハンドラーに接続されている必要があります。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


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

注釈

このメソッドを使用すると、コントロール内の特定の位置にある項目を特定できます。This method enables you to determine which item is located at a specific location within the control. このメソッドを使用すると、ユーザーがをListBox右クリックしたときに選択されるリスト内の項目を確認できます。You can use this method to determine which item within the list is selected when a user right-clicks the ListBox. カーソルの位置を特定し、 p IndexFromPointメソッドのパラメーターに渡すことによって、ユーザーがマウスでマウスを右クリックした項目を特定できます。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. その後、ユーザーにショートカットメニューを表示して、特定の項目に基づいてタスクや機能を提供することができます。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)

指定した座標にある項目の 0 から始まるインデックス番号を返します。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

パラメーター

x
Int32 Int32 Int32 Int32

検索する位置の x 座標。The x-coordinate of the location to search.

y
Int32 Int32 Int32 Int32

検索する位置の y 座標。The y-coordinate of the location to search.

戻り値

指定した座標にある項目の 0 から始まるインデックス番号。一致する項目が見つからない場合は ListBox.NoMatches を返します。The zero-based index of the item found at the specified coordinates; returns ListBox.NoMatches if no match is found.

コントロールにドロップする項目を含むListBoxコントロールを使用してドラッグアンドドロップ操作を実行する方法を次のコード例に示します。 RichTextBoxThe following code example demonstrates how to perform drag-and-drop operations using a ListBox control that contains items to drop into a RichTextBox control. フォームのコンストラクターは、 AllowDropプロパティをにtrue設定して、 RichTextBoxでドラッグアンドドロップ操作を実行できるようにします。The constructor of the form sets the AllowDrop property to true to enable drag-and-drop operations to occur in the RichTextBox. この例ではMouseDownListBoxのイベントを使用して、 DoDragDropメソッドを呼び出してドラッグ操作を開始します。The example uses the MouseDown event of the ListBox to start the drag operation by calling the DoDragDrop method. この例ではDragEnter 、イベントを使用して、 RichTextBoxにドラッグされている項目が有効なデータ型であるかどうかを判断します。The example uses the DragEnter event to determine if an item being dragged into the RichTextBox is a valid data type. イベントDragDropRichTextBoxRichTextBoxドラッグされた項目を内の現在のカーソル位置にあるコントロールに実際にドロップします。The DragDrop event performs the actual dropping of a dragged item into the RichTextBox control at the current cursor location within the RichTextBox. この例では、 DragDropイベントDragEnterとイベントが、この例で定義されているイベントハンドラーに接続されている必要があります。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


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

注釈

このメソッドを使用すると、コントロール内の特定の位置にある項目を特定できます。This method enables you to determine which item that is located at a specific location within the control. このメソッドを使用すると、ユーザーがをListBox右クリックしたときに選択されるリスト内の項目を確認できます。You can use this method to determine which item within the list is selected when a user right-clicks the ListBox. カーソルの位置を特定し、 x IndexFromPointメソッドのパラメーターとyパラメーターに渡して、ユーザーがマウスで右クリックした項目を特定できます。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. その後、ユーザーにショートカットメニューを表示して、特定の項目に基づいてタスクや機能を提供することができます。You can then display a shortcut menu to the user to provide tasks and features based on the specific item.

適用対象