Entwickler-Ecke
WinForms - Seltsame Problem bei einer datengebundenen Richtextbox
lightsaver - Di 15.04.08 17:03
Titel: Seltsame Problem bei einer datengebundenen Richtextbox
Hi,
mir ist gestern ein seltsames Problem begegnet und ich wollte mal wissen, ob mir das jemand erklären kann:
Ich habe ein Formular mit mehreren Feldern, hauptsächlich Textboxen, aber auch eine Richtextbox.
Alle Felder sind an ein Dataset gebunden. Ich habe nun für alle Felder als DataSourceUpdateMode onPropertyChanged eingestellt, was für die Textboxen auch funktioniert hat, bei der rtb allerdings ist der Cursor immer vor dem ersten angezeigten Zeichen geblieben, so dass ich im prinzip rückwärts geschrieben habe. Dies war erst behoben, als ich dort auf onValidated umgestellt habe.
Wieso verhalten sich die TB und die RTB da so verschieden und ist das vielleicht auch nur eine Einstellungssache?
Wäre mal sehr interessant zu erfahren
Moderiert von
Christian S.: Topic aus C# - Die Sprache verschoben am Di 15.04.2008 um 17:05
maro158 - Fr 18.04.08 11:31
Interessant. Ich kann aber beim besten Willen nicht nachvollziehen, was Deiner RichtTextBox widerfährt. Kannst Du bitte etwas detaillierter beschreiben, was vor sich geht?
Die Theorie: Wenn Du in der RichTextBox einen neuen Buchstaben eintippst, wird das Ereignis OnTextChanged ausgelöst. Wenn Du nun für Dein datengebundenes Steuerelement DataSourceUpdateMode.OnPropertyChanged angegeben hast, wird auch dieses Ereignis ausgelöst (da sich ja die Text-Property geändert hat) und die geänderten Daten werden dabei in die darunterliegende Datenquelle geschrieben (parsing). Mit anderen Worten: Steuerelement und Datenquelle werden nach jeder Änderung synchronisiert. Gibst du für das Steuerelement jedoch DataSourceUpdateMode.OnValidation an, werden die Daten aus dem Steuerelement erst nach der Validierung in die Datenquelle und nicht beim Eintippen eines Buchstabens zurückgeschrieben (d.h. nach OnLeave->OnValidating->OnValidated). Ich kann mir nur vorstellen, dass das inkonsistente Verhalten der beiden Steuerelemente, die Du beschreibst, während der Phase der Formatierung stattfindet, d.h beim (erneuten) Beladen der Steuerelemente mit Daten.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!