DataGrid.HitTestType 枚举
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
指定 DataGrid 控件中用户单击的部分。
此枚举支持其成员值的按位组合。
public: enum class DataGrid::HitTestType
[System.Flags]
public enum DataGrid.HitTestType
[<System.Flags>]
type DataGrid.HitTestType =
Public Enum DataGrid.HitTestType
- 继承
- 属性
字段
Caption | 32 | DataGrid 控件的标题。 |
Cell | 1 | DataGrid 控件中的单元格。 |
ColumnHeader | 2 | DataGrid 控件中的列标题。 |
ColumnResize | 8 | 列边框,它是列标题之间的线。 可以拖动它来调整列的宽度。 |
None | 0 | 当控件不包含表,或者包含的行很少时,或者当表滚动到其底部时可见的背景区域。 |
ParentRows | 64 | DataGrid 控件的父行区域。 父行显示来自或关于当前显示的子表的父表信息,如父表的名称、列名和父记录的值。 |
RowHeader | 4 | DataGrid 控件中的行标题。 |
RowResize | 16 | 行边框,它是网格行标题之间的线。 可以拖动它来调整行的高度。 |
示例
以下示例在 事件中使用 HitTestMouseDown 方法返回 DataGrid.HitTestInfo。 然后打印网格的行、列和部分。
private:
void dataGrid1_MouseDown( Object^ /*sender*/,
System::Windows::Forms::MouseEventArgs^ e )
{
String^ newLine = "\n";
Console::WriteLine( newLine );
System::Windows::Forms::DataGrid::HitTestInfo^ myHitTest;
// Use the DataGrid control's HitTest method with the x and y properties.
myHitTest = dataGrid1->HitTest( e->X, e->Y );
Console::WriteLine( myHitTest );
Console::WriteLine( "Column {0}", myHitTest->Column );
Console::WriteLine( "Row {0}", myHitTest->Row );
Console::WriteLine( "Type {0}", myHitTest->Type );
Console::WriteLine( "ToString {0}", myHitTest );
Console::WriteLine( "Hit {0}", ReturnHitTest( myHitTest->Type ) );
}
String^ ReturnHitTest(
System::Windows::Forms::DataGrid::HitTestType hit )
{
// Use this function to return the part of the grid clicked.
switch ( hit )
{
case(System::Windows::Forms::DataGrid::HitTestType::Cell):
return "Cell";
case(System::Windows::Forms::DataGrid::HitTestType::Caption):
return "Caption";
case(System::Windows::Forms::DataGrid::HitTestType::ColumnHeader):
return "ColumnHeader";
case(System::Windows::Forms::DataGrid::HitTestType::ColumnResize):
return "Resize";
case(System::Windows::Forms::DataGrid::HitTestType::ParentRows):
return "ParentRows";
case(System::Windows::Forms::DataGrid::HitTestType::RowHeader):
return "RowHeader";
case(System::Windows::Forms::DataGrid::HitTestType::RowResize):
return "RowResize";
case(System::Windows::Forms::DataGrid::HitTestType::None):
return "None";
default:
return "Unknown";
}
}
private void dataGrid1_MouseDown
(object sender, System.Windows.Forms.MouseEventArgs e)
{
string newLine = "\n";
Console.WriteLine(newLine);
System.Windows.Forms.DataGrid.HitTestInfo myHitTest;
// Use the DataGrid control's HitTest method with the x and y properties.
myHitTest = dataGrid1.HitTest(e.X,e.Y);
Console.WriteLine(myHitTest);
Console.WriteLine("Column " + myHitTest.Column);
Console.WriteLine("Row " + myHitTest.Row);
Console.WriteLine("Type " + myHitTest.Type);
Console.WriteLine("ToString " + myHitTest.ToString());
Console.WriteLine("Hit " + ReturnHitTest(myHitTest.Type ));
}
private string ReturnHitTest(System.Windows.Forms.DataGrid.HitTestType hit ){
// Use this function to return the part of the grid clicked.
switch(hit) {
case(System.Windows.Forms.DataGrid.HitTestType.Cell):
return "Cell";
case(System.Windows.Forms.DataGrid.HitTestType.Caption):
return "Caption";
case(System.Windows.Forms.DataGrid.HitTestType.ColumnHeader):
return "ColumnHeader";
case(System.Windows.Forms.DataGrid.HitTestType.ColumnResize):
return "Resize";
case(System.Windows.Forms.DataGrid.HitTestType.ParentRows):
return "ParentRows";
case(System.Windows.Forms.DataGrid.HitTestType.RowHeader):
return "RowHeader";
case(System.Windows.Forms.DataGrid.HitTestType.RowResize):
return "RowResize";
case(System.Windows.Forms.DataGrid.HitTestType.None):
return "None";
default:return "Unknown";
}
}
Private Sub dataGrid1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
Dim newLine As String = ControlChars.Cr
Console.WriteLine(newLine)
Dim myHitTest As System.Windows.Forms.DataGrid.HitTestInfo
' Use the DataGrid control's HitTest method with the x and y properties.
myHitTest = dataGrid1.HitTest(e.X, e.Y)
Console.WriteLine(myHitTest)
Console.WriteLine(("Column " & myHitTest.Column))
Console.WriteLine(("Row " & myHitTest.Row))
Console.WriteLine(("Type " & myHitTest.Type))
Console.WriteLine(("ToString " & myHitTest.ToString()))
Console.WriteLine(("Hit " & ReturnHitTest(myHitTest.Type)))
End Sub
Private Function ReturnHitTest(hit As System.Windows.Forms.DataGrid.HitTestType) As String
' Use this function to return the part of the grid clicked.
Select Case hit
Case System.Windows.Forms.DataGrid.HitTestType.Cell
Return "Cell"
Case System.Windows.Forms.DataGrid.HitTestType.Caption
Return "Caption"
Case System.Windows.Forms.DataGrid.HitTestType.ColumnHeader
Return "ColumnHeader"
Case System.Windows.Forms.DataGrid.HitTestType.ColumnResize
Return "Resize"
Case System.Windows.Forms.DataGrid.HitTestType.ParentRows
Return "ParentRows"
Case System.Windows.Forms.DataGrid.HitTestType.RowHeader
Return "RowHeader"
Case System.Windows.Forms.DataGrid.HitTestType.RowResize
Return "RowResize"
Case System.Windows.Forms.DataGrid.HitTestType.None
Return "None"
Case Else
Return "Unknown"
End Select
End Function 'ReturnHitTest
注解
使用此枚举的成员确定已单击网格的哪个部分。 Type的 DataGrid.HitTestInfo 属性返回 DataGrid.HitTestType。 DataGrid.HitTestInfo通过调用 HitTest 控件的 方法创建 。System.Windows.Forms.DataGrid
适用于
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈