Forum: PC-Programmierung C# DataGridView Zelle


von Gast (Gast)


Lesenswert?

Hallo,


habe ein DataGridView und möchte in einer Zelle max. 2 Zeichen wie z.B.
11 oder ff oder dd eingeben können.

Das Klappt soweit auch ganz gut mit der Einschränkung, dass ich 3 oder 
mehr Zeichen eintippen könnte. Was aber nicht möglich sein soll.

Also 111 oder fffff oder dddd soll nicht möglich sein.

Über Property oder Eigenschaften komme ich in alle möglichen Event 
Handler.
Z.B.

auf eine Zelle doppelklicke oder
eine Zelle fokussiere und dann eine Taste drücke ......
...
....

Wenn ich z.B. eine Zelle fokusiere und dann z.B. die Taste "a" drücke, 
springt das Programm mir in den entsprechenden Eventhandler.
Nun dürfte ich maximal noch einmal eine Taste z.B. "d" drücken. Weitere 
Tastenanschläge sollten von der Zelle nicht akzeptiert werden.
So sollte es sein.

Welches Property Event erlaubt es mir bei Sellektion einer Zelle max. 2 
Zeichen in die Zelle einzutippen.

Momentan löst nur der erste Tastenanschlag bei fokussierter Zelle ein 
Event aus. Alle folgenden Anschläge in der gleichen Zelle ergeben kein 
Event Aufruf. Und die Zeichen werden an das erste angehängt.
Nach dem zweiten Zeichen sollte aber nichts mehr angehängt werden 
können.

Suche also ein Event, mit dem ich wirklich jeden Tastenanschlag in einer 
angewählten Zelle mitbekomme.


Hoffe ich konnte mein Problemchen einigermasen verständlich machen.

von Arc N. (arc)


Lesenswert?

DataGridView -> Properties -> Columns und in der passenden Spalte 
MaxInputLength auf zwei setzen oder in der Spalte das Format unter 
DefaultCellStyle ändern oder die Eingaben von Hand validieren (u.U. 
folgende Events CellBeginEdit, CellEndEdit, Validating, etc).

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.