DataGridView Eingabe kontrollieren
-
Hallo,
Ich hab ein DataGridView bei denen eigentlich nur Zahlen eingegeben werden aber auch im Minusbereich. Jetzt wollte ich es so programmieren das nur Zahlen und Minuszeichen eingegeben werden können. Das Problem ist das KeyPressed Ereignis funktioniert nur wenn das DataGridView gesperrt ist also auf Disabled steht. Sobald das Textfeld der Zelle erscheind indem die Eigabe stattfindet funktioniert das KeyPressed Ereignis nicht mehr. Welches Ereignis müßte ich da jetzt verwenden damit ich da dran komme? Bis jetzt mache ich nur eine Überprüfung wenn die Eingabe beendet ist. Am besten ist wenn halt gleich die gedrückte Taste abgefangen wird.
Vielen Dank.
-
Hat sich erledigt habs hinbekommen. War ja nicht schwer
private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) { TextBox text = (TextBox)e.Control; text.KeyPress += new KeyPressEventHandler(CellTextBox_KeyPress); } private void CellTextBox_KeyPress(Object o, KeyPressEventArgs e) { // Hier behandlung }
-
Nur jetzt hab ich ein Problem...
Kann ich jetzt irgendwie vom KeyPress Eventhandler von der Textbox auf mein DataGridView zugreifen, wärend er noch im KeyPress Eventhandler steckt?
Da ich mehrere DataGridViews verwende wollte ich nur ein Eventhandler verwenden.Mein KeyPress Eventhandler hat ja nur die 2 Parameter (Objekt ist dies von der Textbox und KeyPressEventArgs)
Möchte halt in diesem Eventhandler meine Datagridviews unterscheiden können.
Ansonsten mache ich es so das mein selektiertes DataGridView in einer temporären globalen Variable kurz zwischen gespeichert wird. Wäre ja nicht besonder schön.
-
Hallo,
jedes Steuerelement hat eine Parent-Eigenschaft, damit sollte man auf die jeweilige DataGridView zugreifen können, da Key_Press auch den Auslöser (dessen Parent ermittelt werden kann) des Ereignisses übergeben bekommt.
MfG,
Probe-Nutzer
-
Super, gut zu wissen.
Besten dank.