Kundenspezifische Datagridview-Spalte des eingegebenen Dezimaltrennzeichens unter Windows Vista nicht akzeptiert

StackOverflow https://stackoverflow.com/questions/157144

Frage

Für ein Projekt baute ich eine benutzerdefinierte Datagridview-Spalte, die NumericUpDown Steuerelemente enthält. Es ist ähnlich dem Vorschlag umgesetzt von Microsoft

Die Säule arbeitet unter Windows XP in Ordnung. Er akzeptiert die eingegebenen Ziffern und Dezimaltrennzeichen. Unter Windows Vista habe ich das seltsame Problem, dass die Steuerung nur das Dezimaltrennzeichen von der numerischen Tastatur eingegeben akzeptiert, aber nicht von der Tastatur Hauptblock.

Ich muss hinzufügen, dass ich mit Deutsch (Schweiz) Kultureinstellungen unter Windows Vista und die deutsche (Schweiz) Tastaturlayout aktiviert ist arbeiten. Das Dezimaltrennzeichen in der Schweiz ist.

Hat jemand eine Idee, aus dem Grunde, und vielleicht eine Lösung? Vielen Dank!

Michael

Edit: Ich fand die Lösung für mein Problem.

  1. Um die Situation ein wenig mehr zu klären. Die Steuerung von NumericUpDown ich implementiert IDataGridViewEditingControl und erbt von NumericUpDown. Wegen IDataGridViewEditingControl implementieren ich die Methode EditingControlWantsInputKey. Und bei der Durchführung dieses Verfahrens fand ich meinen Fehler oder was falsch gelaufen ist.

  2. Bei dem Verfahren I die eingegebenen Schlüssel überprüft und entschieden, ob die Steuer es zu behandeln hatte. Aber für den Dezimaltrennzeichens ich erwartet hatte nur Keys.Decimal . In meinem speziellen (falsch) Fall der Schlüssel nicht angepasst werden kann. Was fehlte, war für suchen Keys.OemPeriod zu. Und das war die Lösung.

War es hilfreich?

Lösung

Können Sie bitte Ihre OnKeyDown und / oder OnKeyPress Code einfügen? Zumindest die entsprechende Taste-Filtercode. Es wird einfacher machen, um Probleme zu erkennen, aus.

BTW, ich normalerweise verwenden, um sowohl einen britischen Englisch und brasilianisches Portugiesisch Tastaturen, also habe ich meinen Anteil an diesen Fragen hatte. Diese Art von Kräften Ihnen ein Lokalisierungs Experte werden:)

Bearbeiten : Oh, sorry, gerade wieder gelesen und verstanden Sie die Aktie NumericUpDown Steuerung verwenden. Können Sie mir zeigen auf die Spalte Code aus, so kann ich es hier versuchen? Wahrscheinlich wird das Gebietsschema nicht für das Steuerelement festgelegt zu werden, und Sie werden es manuell tun an einem gewissen Punkt müssen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top