AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

[.NET ComboBox] Richtiges Event gesucht

Ein Thema von Phoenix · begonnen am 28. Sep 2006
Antwort Antwort
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.640 Beiträge
 
#1

[.NET ComboBox] Richtiges Event gesucht

  Alt 28. Sep 2006, 14:10
Sodele.. im vorherigen Thread habe ich meine eigene ComboBox abgeleitet, weil die normale Box keinen FlatStyle hatte und auch freie Eingaben erlaubte, was ich hier nicht brauchen kann.

Dort ist auch ein Screenshot von dem Formular, auf dem die Box eingesetzt wird.

Nun wirds tricky: Eine Eingabe in einem beliebigen Feld (und auch in dieser Combobox) soll das Formular in eine Zustand versetzen, der EditMode heisst. Will heissen die zwei Buttons rechts oben werden zu Speichern & Abbrechen und man kann keinen neuen Datensatz mehr auswählen bis der aktuell bearbeitete gespeichert wurde oder eben abgebrochen wurde.

Dazu hänge ich mich ins OnSelectionChanged Event der Box um das auszulösen. Funktioniert aus hervorragend. Nur wird nun halt jedes mal, wenn ich einen neuen Eintrag selektiere der Editmode aufgerufen. Um das bei der Initialisierung zu vermeiden verpasse ich jedem Control während der Initialisierung den String "INIT" als Tag und frage darauf ab. Auch hervorragend - bei allen Controls tut das auch.

Nur die ComboBox ärgert mich da wieder.

Während der Initialisierung mache ich folgendes:
Code:
            cbxDivision.Tag = "INIT";
            cbxDivision.SelectedIndex = cbxDivision.Items.IndexOf(myUser.Division.ToString());
            cbxDivision.Tag = "";
Das interessante ist, dass der Index aber erst dann wirklich gesetzt wird, wenn sich das Control selber neu zeichnet - und eben nicht an der Stelle, wo es getzt wird

Nun bin ich auf die Idee gekommen und habe noch ein Flag eingeführt. In der SelectionChanged wird nun auch noch auf das weitere Flag geprüft. Dieses Flag setze ich im OnENTER Event.

Und nun dürft ihr dreimal raten: Vor dem Zeichen wird OnEnter ausgelöst, obwohl ich das Control gar nicht entere (ist gleich das erste Zeichnen vom Formular).

Wie kann ich nun vermeiden, dass ich beim Initialisiern von dem Control auch gleich in den Editmodus gehe oder genauer: WELCHES Event wird wirklich nur dann ausgelöst, wenn der User den Wert des Controls ändert und nicht, wenn sich das Control neu zeichnet?
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:25 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz