vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Cursorposition nach dem Verwerfen einer Änderung 
Autor: Manfred X
Datum: 05.11.09 19:39

Hallo FZelle!

Ich habe jetzt eine Klasse erstellt, die für jede TextBox eine Membervariable und die zugehörige
Property enthält. Die Eigenschaft "Text" der Textboxen wird jeweils an eine Property dieser Klasse
gebunden.

Wenn man die "DataSourceUpdateMethode" des Binding-Objekts auf "OnPropertyChanged"
einstellt, wird bei jedem Tastendruck (falls die Textbox den Fokus hat) die zugehörige
Property-Set gerufen.

In dieser Klasse sind die Restriktionen ("Rules") als private boolsche Methoden enthalten, die beim
Aufruf des 'Set' der Properties ausgeführt werden, um zu beurteilen, ob die aktuelle Eingabe OK ist.
Falls nicht, wird der im 'Set' übergebene Value-Parameter nicht auf die Membervariable zugewiesen.
(Der Bindungsmanager ruft nach dem `Set` das 'Get' und erhält dort den unveränderten Wert.)

In diesem Fall geht aber die Position des Cursors im Eingabefeld der Textbox verloren.
Das gilt auch, wenn man das Parse-Ereignis des Binding-Objekts verwendet, um die
Gültigkeit der aktuellen Eingabe zu überprüfen und ggf. zu verwerfen
(per Value-Eigenschaft des übergebenen ConvertEventArgs).

Der einzige Weg, den ich gefunden habe, ist die Speicherung der aktuellen Cursorposition im
Key_Down-Ereignis der Textbox und ggf. die Wiederherstellung im TextChanged-Ereignis.

Gibt es dafür einen eleganteren Weg?

Wie kann man dem Bindungsmanagment mitteilen, dass die letzte Änderung
verworfen worden ist und das gebundene Steuerelement deshalb zurückgesetzt werden soll?

Beitrag wurde zuletzt am 05.11.09 um 19:58:54 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
TextBox.KeyDown: Vorschau auf den entstehenden Text1.841Manfred X04.11.09 19:15
Re: TextBox.KeyDown: Vorschau auf den entstehenden Text1.228ModeratorFZelle04.11.09 19:39
Re: TextBox.KeyDown: Vorschau auf den entstehenden Text995Manfred X04.11.09 19:51
Re: TextBox.KeyDown: Vorschau auf den entstehenden Text981ModeratorFZelle05.11.09 09:46
Cursorposition nach dem Verwerfen einer Änderung1.075Manfred X05.11.09 19:39
Re: Cursorposition nach dem Verwerfen einer Änderung1.008ModeratorFZelle06.11.09 09:32
Demo zum Cursorpositions-Problem984Manfred X06.11.09 20:06

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel