Hallo zusammen,
heute wurde uns bei der MSDN Hotline unter anderem folgende Frage gestellt:
ich erstelle eine WindowsFormsApplication, wo ich DataGridView benutze. Die Standardeinstelungen sind so, dass bei dem Drucken der Enter-Taste immer in die darunterliegende Zelle der gleichen Spalte gesprungen. Kann man dieses Effekt Vermeiden?
Unsere Antwort bzw. unser Lösungsvorschlag darauf war:
Bei betätigen der Enter-Taste wird das KeyUp-Ereignis ausgelöst. Um dieses Sprungeffekt komplett zu ignorieren kann man folgendermaßen vorgehen:
private void dataGridView1_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyData == Keys.Enter)
{
e.Handled = false;
}
}
Falls man es auf eine andere Wise behandeln möchte z.B. es soll immer in die erste Zelle der unteren Spalte gesprungen werden, dann kann man beispielsweise so vorgehen:
public class Grid : DataGridView
{
protected override void OnKeyUp( KeyEventArgs e )
{
if (e.KeyCode == Keys.Enter)
{
int currentRow = this.CurrentRow.Index;
if (currentRow >= 0)
this.CurrentCell = this.Rows[currentRow].Cells[0];
}
base.OnKeyUp( e );
}
}
Wir hoffen, vielen Besuchern der
MSDN Foren durch das Posten dieses Problems und einer möglichen Lösung weiterhelfen zu können.
Viele Grüße,
Anna Koch
MSDN Hotline für MSDN Online Deutschland
Disclaimer:
Bitte haben Sie Verständnis dafür, dass wir hier auf Rückfragen gar nicht oder nur sehr zeitverzögert antworten können.
Bitte nutzen Sie für Rückfragen oder neue Fragen den telefonischen Weg über die MSDN Hotline:http://www.msdn-online.de/Hotline

Es gelten für die MSDN Hotline und dieses Posting dieseNutzungsbedingungen,
Hinweise zuMarkenzeichen sowie die allgemein gültigenInformationen
zur Datensicherheit sowie die gesondertenNutzungsbedingungen für die MSDN Hotline.