Typ-Convertierung von Form

20/05/2008 - 20:14 von Alberto Luca | Report spam
Hallo NewsGroup,

ich prüfe in einem MDIForm, ob eine abhàngige Instanz bereits vorhanden ist.
Lösung 1 funktioniert:
Int32 lintBiGNr = Convert.ToInt32(x);
// Check, ob Instance bereits existiert
for (int i = 0; i < this.MdiChildren.Length; i++)
{
if (this.MdiChildren[i] is frmCustomerBiG)
{
if (((frmCustomerBiG)this.MdiChildren[i]).BiGNr ==
lintBiGNr)
{
this.MdiChildren[i].Focus();
break;
}
}
}

Lösung 2 fehlerhaft:
Int32 lintBiGNr = Convert.ToInt32(x);
foreach (Form childForm in MdiChildren)
{
if (childForm is frmCustomerBiG)
{
frmCustomerBiG f = childForm; // <= Fehler
if (f.BiGNr == lintBiGNr)
{
childForm.Focus();
break;
}
}
}
// Fehler 1 Der Typ "System.Windows.Forms.Form" kann nicht
implizit in "eBiG_Control.frmCustomerBiG" konvertiert werden.
// Es ist bereits eine explizite Konvertierung vorhanden.
(Möglicherweise fehlt eine Umwandlung.)


Wie kann ich mein Problem mit Lösung 2 lösen?
(??? frmCustomerBiG f = childForm; // <= Fehler)


Besten Dank vorab!
Ciao, Alberto
 

Lesen sie die antworten

#1 Herfried K. Wagner [MVP]
21/05/2008 - 00:06 | Warnen spam
"Alberto Luca" schrieb:
ich prüfe in einem MDIForm, ob eine abhàngige Instanz bereits vorhanden
ist.
Lösung 1 funktioniert:
Int32 lintBiGNr = Convert.ToInt32(x);
// Check, ob Instance bereits existiert
for (int i = 0; i < this.MdiChildren.Length; i++)
{
if (this.MdiChildren[i] is frmCustomerBiG)
{
if (((frmCustomerBiG)this.MdiChildren[i]).BiGNr ==
lintBiGNr)
{
this.MdiChildren[i].Focus();
break;
}
}
}

Lösung 2 fehlerhaft:
Int32 lintBiGNr = Convert.ToInt32(x);
foreach (Form childForm in MdiChildren)
{
if (childForm is frmCustomerBiG)
{
frmCustomerBiG f = childForm; // <= Fehler



'frmCustomerBiG f = (frmCustomerBiG)childForm' oder 'frmCustomerBiG f =
childForm as frmCustomerBiG'.

M S Herfried K. Wagner
M V P <URL:http://dotnet.mvps.org/>
V B <URL:http://dotnet.mvps.org/dotnet/faqs/>

Ähnliche fragen