>
> Also ich kann die Anwendung erst gar nicht kompillieren.
> Im switch-case-Konstrukt wird  im zweiten Case-Zweig
>
> case "ComboBox":
>     ComboBox Sender = (ComboBox)sender;
> break;
>
> die Fehlermeldung "Eine lokale Variable "Sender" ist bereits im
> G�ltigkeitsbereich definiert" angegeben.
> Belasse ich es bei einem Case-Zweig, so wird ausserhalb der
> switch-Anweisung
> "Sender" mit der Fehlermeldung: "Der Typ oder Namespace 'Sender' konnte
> nicht gefunden werden. M�glicherweise fehlt eine Anweisung oder ein
> Assablyverweis".
>

Es muss jeder theoretisch m�gliche Codepfad zu einer g�ltigen Instanz
f�hren. Man definiere daher zuvor:

Control c;

und caste dann im switch:

        c = (ComboBox) sender;

Christophs Vorschlag, generell Control zu verwenden, ist im Prinzip ok, nur
kommt man so nicht an spezifischen Eigenschaften heran, die nur ein ganz
bestimmtes Control hat. Ich habe mir dazu mal (sinngem��) eine Methode
geschrieben, die alle Arten von Controls behandelt:

Aufruf:
ResolveControl (ref sender);
Definition:
protected void ResolveControl (ref Control c)
{
        switch (c.GetType().Name)
        {
                case "LiteralControl":
                        LiteralControl lc = (LiteralControl) c;
                        // tue was mit lc
                        break;
                // usw. usf.
        }
}

> Selbst der Vorschlag aus dem Buch Inside C# (S.60)
>
> ComboBox Sender = sender as ComboBox;
>

Der Fehler liegt nicht in der Art und Weise des Cast.

> brachte mich nicht weiter.
>
> Einzige Alternative, die ich da im Moment sehe, w�re wohl doch 'ne zweite
> Event-Methode f�r die ComboBox zu schreiben - w�re aber dann
> irgendwie nicht
> ganz im Sinner der Erfindung.
>

Es funktioniert, habe ich mehrfach im Einsatz.

> Gru�
>
> Rene
>

J�rg



| [dotnetdecsharp] als [email protected] subscribed
| http://www.dotnetgerman.com/archiv/dotnetdecsharp/ = Listenarchiv
| Listenregeln, sowie An- und Abmeldung zu dieser Liste:
| http://www.dotnetgerman.com/listen/dotnetdecsharp.asp

Antwort per Email an