Forums Neueste Beiträge
 

UserControl über Methode auf Form aus Menü wechseln

28/02/2008 - 18:11 von Lars Eggert | Report spam
Hallöchen,

ich kàmpfe derzeit mit einer Steuerung, bei der ich entweder in einer
zentralen Klasse oder auf der Form eine Methode zum wechseln eines
UserControls in einem Panel habe.

1. Problem: Wie lese ich aus, welches UserControl aktuell im Panel geladen
ist? ... oder reicht ein lapidarer clear aus?
2. Problem. Aus einem Menü (ToolStrip) rufe ich per
((myForm)Parent).ControlWechselMethode();
Das kracht zur Laufzeit leider mit der Meldung 'Das Objekt des Typs
System.Windows.Forms.SplitterPanel kann nicht in Typ myNamespace.myForm
umgewandelt werden.'
Über einen Knopf auf der Form (egal ob in einem anderen panel, im gleichen,
auf der form selbst) funktioniert das Laden eines UserControls in das leere
Panel über die Methode problemlos, muss also an dem Aufruf aus dem ToolStrip
liegen, welches in einem eigenen Panel residiert.

Wie immer für jedwede Hilfe dankbar :)

Grüße

Lars
 

Lesen sie die antworten

#1 Frank Dzaebel
28/02/2008 - 22:44 | Warnen spam
Hallo Lars,

ich kàmpfe derzeit mit einer Steuerung, bei der ich entweder in einer
zentralen Klasse oder auf der Form eine Methode zum wechseln eines
UserControls in einem Panel habe.
1. Problem: Wie lese ich aus, welches UserControl aktuell im Panel geladen
ist? ... oder reicht ein lapidarer clear aus?



Also ein Panel hat die Controls-Auflistung.
Die kannst Du mit foreach durchlaufen, oder,
über den Index oder Namen ausfiltern
(panel1.Controls[i], ...).



2. Problem. Aus einem Menü (ToolStrip) rufe ich per
((myForm)Parent).ControlWechselMethode();
Das kracht zur Laufzeit leider mit der Meldung 'Das Objekt des Typs
System.Windows.Forms.SplitterPanel kann nicht in Typ myNamespace.myForm
umgewandelt werden.'



Naja, dann ist's in der ControlWechselMethode(). Code?
Beachte Richtlinien, KlassenNamen PascalCase, lokale
Variablen CamelCase.


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen