次の方法で共有


DataGrid.HitTest メソッド

定義

画面上の指定したポイントにある DataGrid コントロールに関する情報を取得します。

オーバーロード

HitTest(Int32, Int32)

このメソッドに渡された x、y 座標を使用して、グリッド上でクリックされたポイントの行番号や列番号などの情報を取得します。

HitTest(Point)

特定の Point を使用して、クリックされたグリッド上のポイントの行番号や列番号など、グリッドに関する情報を取得します。

HitTest(Int32, Int32)

このメソッドに渡された x、y 座標を使用して、グリッド上でクリックされたポイントの行番号や列番号などの情報を取得します。

public:
 System::Windows::Forms::DataGrid::HitTestInfo ^ HitTest(int x, int y);
public System.Windows.Forms.DataGrid.HitTestInfo HitTest (int x, int y);
member this.HitTest : int * int -> System.Windows.Forms.DataGrid.HitTestInfo
Public Function HitTest (x As Integer, y As Integer) As DataGrid.HitTestInfo

パラメーター

x
Int32

座標の水平位置。

y
Int32

座標の垂直位置。

戻り値

グリッドのクリックされた部分に関する情報を格納する DataGrid.HitTestInfo

次のコード例では、ユーザーが HitTest グリッドをクリックしたときに発生するイベントで メソッドを使用します。

Private Sub DataGrid1_MouseDown(ByVal sender As Object, ByVal e As MouseEventArgs)
    Dim myGrid As DataGrid = CType(sender, DataGrid)
    Dim hti As System.Windows.Forms.DataGrid.HitTestInfo
    hti = myGrid.HitTest(e.X, e.Y)
    Select Case hti.Type
    Case System.Windows.Forms.DataGrid.HitTestType.None 
       Console.WriteLine("You clicked the background.")
    Case System.Windows.Forms.DataGrid.HitTestType.Cell 
       Console.WriteLine("You clicked cell at row " & hti.Row & ", col " & hti.Column)
    Case System.Windows.Forms.DataGrid.HitTestType.ColumnHeader
       Console.WriteLine("You clicked the column header for column " & hti.Column)
    Case System.Windows.Forms.DataGrid.HitTestType.RowHeader 
       Console.WriteLine("You clicked the row header for row " & hti.Row)
    Case System.Windows.Forms.DataGrid.HitTestType.ColumnResize
       Console.WriteLine("You clicked the column resizer for column " & hti.Column)
    Case System.Windows.Forms.DataGrid.HitTestType.RowResize 
       Console.WriteLine("You clicked the row resizer for row " & hti.Row)
    Case System.Windows.Forms.DataGrid.HitTestType.Caption
       Console.WriteLine("You clicked the caption")
    Case System.Windows.Forms.DataGrid.HitTestType.ParentRows 
       Console.WriteLine("You clicked the parent row")
    End Select
 
 End Sub

注釈

DataGrid.HitTestInfo、 コントロールの System.Windows.Forms.DataGrid メソッドとHitTest組み合わせて使用され、ユーザーがクリックしたコントロールのどのSystem.Windows.Forms.DataGrid部分を決定します。 には DataGrid.HitTestInfo 、クリックされたグリッドの行、列、および一部が含まれます。 さらに、 プロパティは Type 列挙体を DataGrid.HitTestType 返します。

メソッドは、コントロールの 、 DragOverMouseDownMouseUpMouseMoveDragEnterおよび イベントによってSystem.Windows.Forms.DataGrid提供される x 引数と y 引数を受けMouseWheel取ります。DragDropHitTest

こちらもご覧ください

適用対象

HitTest(Point)

特定の Point を使用して、クリックされたグリッド上のポイントの行番号や列番号など、グリッドに関する情報を取得します。

public:
 System::Windows::Forms::DataGrid::HitTestInfo ^ HitTest(System::Drawing::Point position);
public System.Windows.Forms.DataGrid.HitTestInfo HitTest (System.Drawing.Point position);
member this.HitTest : System.Drawing.Point -> System.Windows.Forms.DataGrid.HitTestInfo
Public Function HitTest (position As Point) As DataGrid.HitTestInfo

パラメーター

position
Point

単一の x、y 座標を表す Point

戻り値

グリッドに関する固有の情報を格納する DataGrid.HitTestInfo

次のコード例では、 の メソッドを HitTest 使用します。これは、ユーザーがグリッドをクリックしたときに発生します。

Private Sub DataGrid1_MouseDown(ByVal sender As Object, ByVal e As MouseEventArgs)
    Dim hti As DataGrid.HitTestInfo
    hti = grid.HitTest(New Point(e.X, e.Y))
    Select Case hti.Type
    Case System.Windows.Forms.DataGrid.HitTestType.None 
       Console.WriteLine("You clicked the background.")
    Case System.Windows.Forms.DataGrid.HitTestType.Cell 
       Console.WriteLine("You clicked cell at row " & hti.Row & ", col " & hti.Column)
    Case System.Windows.Forms.DataGrid.HitTestType.ColumnHeader
       Console.WriteLine("You clicked the column header for column " & hti.Column)
    Case System.Windows.Forms.DataGrid.HitTestType.RowHeader 
       Console.WriteLine("You clicked the row header for row " & hti.Row)
    Case System.Windows.Forms.DataGrid.HitTestType.ColumnResize
       Console.WriteLine("You clicked the column resizer for column " & hti.Column)
    Case System.Windows.Forms.DataGrid.HitTestType.RowResize 
       Console.WriteLine("You clicked the row resizer for row " & hti.Row)
    Case System.Windows.Forms.DataGrid.HitTestType.Caption
       Console.WriteLine("You clicked the caption")
    Case System.Windows.Forms.DataGrid.HitTestType.ParentRows 
       Console.WriteLine("You clicked the parent row")
    End Select
 End Sub

注釈

DataGrid.HitTestInfo、 コントロールの System.Windows.Forms.DataGrid メソッドとHitTest組み合わせて使用され、ユーザーがクリックしたコントロールのどのSystem.Windows.Forms.DataGrid部分を決定します。 には DataGrid.HitTestInfo 、クリックされたグリッドの行、列、および一部が含まれます。 さらに、 プロパティは Type 列挙体を DataGrid.HitTestType 返します。

メソッドは、コントロールの 、 DragOverMouseDownMouseUpMouseMoveDragEnterおよび イベントによってSystem.Windows.Forms.DataGrid提供される x 引数と y 引数を受けMouseWheel取ります。DragDropHitTest

こちらもご覧ください

適用対象