ComboBox SelectedIndexChanged zu Laufzeit erzeugen

JJB

Cogito ergo brumm
Tach Tach mal wieder !

Ich erzeuge zu Laufzeit einen Pool von Comboboxen in einem Scrollbaren Panel.
Wenn ich einen Wert in einer dieser Boxen ändere, muss für den ehemaligen Wert eine Funktion gestartet werden und für den neu ausgewählten Wert.

Ich habe nun zu Laufzeit die Box erstellt und mit:
Code:
theBox.SelectedIndexChanged += new System.EventHandler(this.ComboBox_SelectedIndexChanged);
ausgestattet. Danach wird sie in das Panel geschrieben.

Doch das Event bietet mir keinerlei Information über .... naja ... das "Event".
Ich will wissen, was vorher drin stand und was nun ausgewählt wurde.
Den neuen Wert krieg ich ja irgendwie... aber der alte ?
Die CheckedListBox hat ja auch Infos über die alten Werte. Muss doch hier auch gehen oder ?

Hat jemand eine Idee ?

MFG JJB


_
 
Zuletzt bearbeitet:
Re: ComboBox_SelectedIndexChanged zu Laufzeit erzeugen

Also das einzige, was mir dazu einfällt (was aber zugegebenermassen nicht die Patentlösung sein muss, weil ich auch noch an vielen Stellen Anfänger bin), ist, dass du nach meiner Vorstellung gar nichts anderes tun kannst, als dir den jeweils aktuellen Wert deiner Combobox in einer zusätzlichen Varibale zu tracken. Wenn in der Combobox ein neuer Index ausgewählt wird kannst du den alten Index auslesen und verarbeiten und den neuen erfährst du ja eh aus dem Event, der dann im Anschluß an die Verarbeitung den Wert in der Trackingvariable aktualisiert.
 
Re: ComboBox_SelectedIndexChanged zu Laufzeit erzeugen

Ich generiere die Comboboxen zur Laufzeit in ein Panel und das können beliebig viele sein. Zudem werden sie beständig hinzugefügt und entfernt. Ich müsste eine zusätzliche Verwaltung zu den Verbindungen zwischen alt und neuen Werten schaffen und die Werte ebenfalls ständig ergänzen und reduzieren.

Aber es gibt die Möglichkeit die Box zu vererben und das Event so zu verändern, dass es mehr Infos ausgibt.

Lösung siehe: C#.NET ? Indexwerte aus ComboBox SelectedIndexChanged auslesen

_
 
Re: ComboBox_SelectedIndexChanged zu Laufzeit erzeugen

@JBB

ich denke mal, Du meinst folgendes:

Code:
...
theBox.SelectedIndexChanged += new System.EventHandler(this.ComboBox_SelectedIndexChanged);
...
privatevoid ComboBox_SelectedIndexChanged(object sender, System.EventArgs e)
{
int item = theBox.Items.IndexOf(((CheckedListBox)sender).SelectedItem);
...
}
So bekommst Du zumindest schon mal das richtige Element und kannst das Element abfragen oder bearbeiten oder...

Gruss
Mobix
 
Neee... ich möchte abfragen, was vorher war.
Aber wie ich bereits verwiesen habe. Die Lösung steht schon unter: C#.NET ? "Indexwerte aus ComboBox SelectedIndexChanged auslesen"

Das hier ist abgeschlossen

_
 

Neue Beiträge

Zurück