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 | 資料列的框線,也就是格線資料列標頭之間的線。 可以拖曳來重新調整資料列的高度。 |
範例
下列範例會在 HitTest 事件中使用 MouseDown 方法傳回 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 方法來建立 。