[WinForms][DataGrid] Zelleninhalt von einer Position ermitteln
-
Frage
Wie ermittle ich den Zelleninhalt einer Position (z.B. von der Maus) auf einemDataGrid
?Antwort
Dazu bietet die KlasseDataGrid
die MethodeHitTest
. Daran übergibt man entweder einePoint
-Struktur oder direkt die X- und Y-Koordinaten. Man erhält ein Objekt der KlasseDataGrid.HitTestInfo
zurück mit Informationen zu Reihe, Kolonne und Typ worauf geklickt wurde.Beispiel
private void DataGridMouseDown(object sender, MouseEventArgs e) { var hitInfo = dataGrid.HitTest(e.X, e.Y); if(hitInfo.Type == DataGrid.HitTestType.Cell) { string content = dataGrid[hitInfo.Row, hitInfo.Column].ToString(); MessageBox.Show(content); } }