Fehler
-
folgender Fehler:
Eine InvalidCastException-Ausnahme wird ausgelöst, wenn ein Fehler während einer expliziten Verweiskonvertierung auftritt. Verweiskonvertierungen sind Konvertierungen von einem Referenztyp zu einem anderen.
Dabei kann der Typ des Verweises geändert werden, nie jedoch der Typ oder Wert des Konvertierungsziels. Typumwandlung bei Objekten ist ein häufiger Grund für diese Ausnahme.float schriftgrad= (float) cboSchriftgrad.SelectedItem;
-
Liegt es wohl daran dass float ein Werttyp ist und die combobox ein Verweistyp ?
Man kann wohl nie einem Werttyp einem Verweistyp zuweisen ?
Aber wie kann ich denn Wert des inhalts auf den der Verweistyp zeigt meinem float zuweisen ?
-
Man kann wohl nie einem Werttyp einem Verweistyp zuweisen ?
Doch kann man (wenn ich mich nicht irre) - nennt sich dann Boxing/Unboxing.
Als Hinweis noch: Nullable Types könnten hier nützlich sein.Aber wie kann ich denn Wert des inhalts auf den der Verweistyp zeigt meinem float zuweisen ?
Einfach zuweisen wie Du es gemacht hast - aber ist da etwa null (da würde Nullable Types helfen) oder etwa ein Objekt anderen Typs als float drin?
Guck im Debugger!
Das Keyword is und as könnten auch noch nützlich sein.
-
float var = cboSchriftgrad.SelectedItem as float;
so gehts auch nicht
-
float.parse (cboSchriftart.selecteditem)
so gehts auch.
-
blurry333 schrieb:
float.parse (cboSchriftart.selecteditem)
so gehts auch.
Dann hats aber in der ComboBox keine floats, sondern Strings!
Edit:
Und ganz egal was drin ist - mit dem Debugger würdest Du sehen was drin ist!
Aber den benutzt Du ja lieber nicht... verständlich, der würde Dir ja helfen!