Прочитать на английском

Поделиться через


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);

Параметры

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сочетании с методом HitTestSystem.Windows.Forms.DataGrid элемента управления используется для определения того, какую часть System.Windows.Forms.DataGrid элемента управления щелкнул пользователь. содержит DataGrid.HitTestInfo строку, столбец и часть сетки, которую вы нажали. Кроме того, Type свойство возвращает перечисление DataGrid.HitTestType .

Метод HitTest принимает аргументы x и y, предоставляемые System.Windows.Forms.DataGrid событиями , DragEnter, DragOver, MouseDownMouseMove, MouseUp и MouseWheel элемента управления DragDrop.

См. также раздел

Применяется к

.NET Framework 4.8.1 и другие версии
Продукт Версии
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 10

HitTest(Point)

Получает такие сведения, как номера строки и столбца выбранной на сетке точки, с помощью конкретного объекта Point.

public System.Windows.Forms.DataGrid.HitTestInfo HitTest(System.Drawing.Point position);

Параметры

position
Point

Объект Point, представляющий одну пару координат (x, y).

Возвращаемое значение

Объект 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сочетании с методом HitTestSystem.Windows.Forms.DataGrid элемента управления используется для определения того, какую часть System.Windows.Forms.DataGrid элемента управления щелкнул пользователь. содержит DataGrid.HitTestInfo строку, столбец и часть сетки, которую вы нажали. Кроме того, Type свойство возвращает перечисление DataGrid.HitTestType .

Метод HitTest принимает аргументы x и y, предоставляемые System.Windows.Forms.DataGrid событиями , DragEnter, DragOver, MouseDownMouseMove, MouseUp и MouseWheel элемента управления DragDrop.

См. также раздел

Применяется к

.NET Framework 4.8.1 и другие версии
Продукт Версии
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 10