Autor
|
Thema: vb.net => Textbox TextChanged Event reagiert falsch (2855 mal gelesen)
|
Jonapap Mitglied
Beiträge: 206 Registriert: 18.08.2006
|
erstellt am: 26. Jan. 2010 22:36 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich habe ein Formular mit 2 Textboxen. Beide TB sind via PropertyBinding an jeweils eine Variable (MySettings) gebunden. Außerdem möchte ich das Textchange-Event der beiden TB auswerten. Während das Formular geladen wird, werden beide Events durch das PropertyBinding einmal ausgelöst. So weit, so richtig. Wenn ich aber nach dem Laden des Formulars einen Wert in einer Textbox ändere, wird das Textchange-Event für diese Textbox zweimal ausgelöst und zusätzlich auch noch das entsprechende Event der anderen Textbox!??? Danach läuft dann alles wieder richtig. Und ohne PropertyBinding läuft auch alles richig. Wie kann ich das Auslösen des Events für die zweite Box verhindern und trotzdem die Werte via Propertybinding speichern? ------------------ Gruß Markus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RSchulz Ehrenmitglied V.I.P. h.c. Head of CAD, Content & Collaboration / IT-Manager
Beiträge: 5541 Registriert: 12.04.2007 @Work Lenovo P510 Xeon E5-1630v4 64GB DDR4 Quadro P2000 256GB PCIe SSD 512GB SSD SmarTeam V5-6 R2016 Sp04 CATIA V5-6 R2016 Sp05 E3.Series V2019 Altium Designer/Concord 19 Win 10 Pro x64
|
erstellt am: 27. Jan. 2010 08:55 <-- editieren / zitieren --> Unities abgeben: Nur für Jonapap
|
Jonapap Mitglied
Beiträge: 206 Registriert: 18.08.2006
|
erstellt am: 27. Jan. 2010 10:18 <-- editieren / zitieren --> Unities abgeben:
Hallo Rick, ich habe zum Testen lediglich zwei Textboxen und den folgenden Code (natürlich eingebettet in eine Klasse): Code:
Private Sub tbWKDS_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles tbWKDS.TextChanged MsgBox("WKDS geändert") End SubPrivate Sub tbSLN_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles tbSLN.TextChanged MsgBox("SLN geändert") End Sub
------------------ Gruß Markus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Jonapap Mitglied
Beiträge: 206 Registriert: 18.08.2006 ACAD 13 bis 2012 Accurender4 IMOS 9 Rhinoceros 4&5beta Mastercam X5
|
erstellt am: 27. Jan. 2010 10:24 <-- editieren / zitieren --> Unities abgeben:
und vom Designer wurde noch der folgende Code für die DataBindings automatisch generiert: Code:
'tbSLN ' Me.tbSLN.DataBindings.Add(New System.Windows.Forms.Binding("Text", Global.CncTools.My.MySettings.Default, "SLN", True, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)) Me.tbSLN.Location = New System.Drawing.Point(349, 164) Me.tbSLN.Name = "tbSLN" Me.tbSLN.Size = New System.Drawing.Size(148, 20) Me.tbSLN.TabIndex = 8 Me.tbSLN.Tag = "SPGLWKS" Me.tbSLN.Text = Global.CncTools.My.MySettings.Default.SLN ' 'tbWKDS ' Me.tbWKDS.DataBindings.Add(New System.Windows.Forms.Binding("Text", Global.CncTools.My.MySettings.Default, "WKDS", True, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)) Me.tbWKDS.Location = New System.Drawing.Point(349, 141) Me.tbWKDS.Name = "tbWKDS" Me.tbWKDS.Size = New System.Drawing.Size(148, 20) Me.tbWKDS.TabIndex = 5 Me.tbWKDS.Tag = "WKDS" Me.tbWKDS.Text = Global.CncTools.My.MySettings.Default.WKDS
------------------ Gruß Markus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mseufert Ehrenmitglied V.I.P. h.c. Freiberuflicher CAD/CAM Ingenieur
Beiträge: 2624 Registriert: 18.10.2005
|
erstellt am: 27. Jan. 2010 12:12 <-- editieren / zitieren --> Unities abgeben: Nur für Jonapap
Hallo Markus, hab' zwar mit DataBinding keine Erfahrung, vermeide aber ungewollte Aktionen eines Eventhandlers damit, diesen kurzfristig abzustellen: RemoveHandler Event, Delegate anschließend wieder: AddHandler Event, Delegate Der Code dazwischen führt so zu keiner Aktion des EventHandlers. Gruß, Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Jonapap Mitglied
Beiträge: 206 Registriert: 18.08.2006 ACAD 13 bis 2012 Accurender4 IMOS 9 Rhinoceros 4&5beta Mastercam X5
|
erstellt am: 27. Jan. 2010 12:22 <-- editieren / zitieren --> Unities abgeben:
|