nntp2http.com
Posting
Suche
Optionen
Hilfe & Kontakt

VB.NET: Änderungsüberwachung für CheckedListBox

Von: Tobias Sendel (tobiassendel@googlemail.com) [Profil]
Datum: 16.10.2009 14:49
Message-ID: <ab03b1ec-a115-40bc-aa8e-e2ba60b56f75@b15g2000yqd.googlegroups.com>
Newsgroup: de.comp.lang.misc
Hallo,

ich sitze gerade recht ratlos vor einem VB.NET 2008-Problem: Ich
möchte für Steuerlemente mit Mehrfachauswahl (z.B. CheckedListBox)
eine Änderungsüberwachung einbauen. Bei einem Steuerlement mit
Einfachauswahl lässt sich das noch elegant über die
Zwischenspeicherung als String erledigen:

dim strOldValue as string

private sub test ()
if ComboBox1.Text <> strOldValue then
'do something
strOldValue = ComboBox1.Text
else
'do nothing or something else
end if
end sub

Bei einem Element mit Mehrfachauswahl müsste ich aber schon ein Array
bauen und jedes Mal alle Elemente einzeln abfragen. Sollen nun noch
mehrere Zwischenstände gespeichert werden, so sind bei der
Einfachauswahl ein einfaches Array nötig (das geht noch), aber wenn
ich Steuerelemente mit Mehrfachauswahl überwachen will, schon ein
verschachteltes Array. Meiner Meinung nach nicht elegant und sehr
fehleranfällig.

Gibt es dafür eine Idee, wie man so etwas elegant lösen kann?

Ich habe schon probiert, die ChecekdItemCollection direkt als solche
zwischenzuspeichern, soweit ich weiß, handelt es sich dabei aber um
einen Referenztyp, so dass die Änderung am "Live"-Element auch das
zwischengespeicherte Element überschreibt und damit die
Änderungsüberwachung hinfällg macht.

Irgendwelche Ideen? Ich wäre sehr dankbar

Grüße, Tobi S.

[ Auf dieses Posting antworten ]

Antworten