2010-03-22 63 views
1

是否有人知道如何確定用戶在DataGrid控件中單擊的位置? 我在Windows Mobile 6中使用.NET CF.我需要知道的是用戶是否單擊了所選單元格或空白區域(未列或行)。有沒有辦法從EventArgs檢索它?C#datagrid點擊位置

謝謝。

回答

2

這是MSDN

private void myDataGrid_MouseDown(object sender, 
System.Windows.Forms.MouseEventArgs e) 
{ 
    DataGrid myGrid = (DataGrid) sender; 
    System.Windows.Forms.DataGrid.HitTestInfo hti; 
    hti = myGrid.HitTest(e.X, e.Y); 
    string message = "You clicked "; 

    switch (hti.Type) 
    { 
     case System.Windows.Forms.DataGrid.HitTestType.None : 
     message += "the background."; 
     break; 
     case System.Windows.Forms.DataGrid.HitTestType.Cell : 
     message += "cell at row " + hti.Row + ", col " + hti.Column; 
     break; 
     case System.Windows.Forms.DataGrid.HitTestType.ColumnHeader : 
     message += "the column header for column " + hti.Column; 
     break; 
     case System.Windows.Forms.DataGrid.HitTestType.RowHeader : 
     message += "the row header for row " + hti.Row; 
     break; 
     case System.Windows.Forms.DataGrid.HitTestType.ColumnResize : 
     message += "the column resizer for column " + hti.Column; 
     break; 
     case System.Windows.Forms.DataGrid.HitTestType.RowResize : 
     message += "the row resizer for row " + hti.Row; 
     break; 
     case System.Windows.Forms.DataGrid.HitTestType.Caption : 
     message += "the caption"; 
     break; 
     case System.Windows.Forms.DataGrid.HitTestType.ParentRows : 
     message += "the parent row"; 
     break; 
     } 

     Console.WriteLine(message); 
}