ERLEDIGT
NEIN
NEIN
ANTWORTEN
10
10
ZUGRIFFE
471
471
EMPFEHLEN
-
Hallo,
ist es möglich durch eine selbstgebaute Funktion eine Form anzuzeigen?
Hatte mir das folgendermaßen vorgestellt:
Code :1 2 3 4 5
public static void GoToNextForm( Form frmToShow ) { frmToShow newForm = new frmToShow(); newForm.Show(); }
Aber das geht leider nicht. .NET meckert dann bei "frmToShow" dass es keine Klasse ist - verständlich! Aber wie könnte man es dann anstellen?
Habe eben 5 Formen, diese heißen alle nach dem gleichen Schema: "frmXYZ".
Durch den Aufruf von GoToNextForm( frmMain ) will ich also zum Beispiel wieder die Hauptform anzeigen lassen.
Irgendwie möglich?
mfG
MANBLT - Die Bundesliga Tabelle der Saison 2011 / 2012 - http://www.spacehoster.de/blt/ NEU: mit Tippspiel!
EMail: mstangel@gmx.de
-
01.07.04 09:27 #2
- Registriert seit
- Jun 2004
- Ort
- Österreich / Kärnten
- Beiträge
- 11
frmToShow ist ja keine Klasse sondern ein Objekt! Du brauchst ja nichts neues mehr anlegen.
Probiers mal damit:
Code :1 2 3 4
public static void GoToNextForm( Form frmToShow ) { frmToShow.Show(); }
Statt das über eine eigene Methode zu machen brauchst du das ja nur so zu schreiben:
Es ist ja ein Blödsinn dafür eine eigene statische Methode zu machen die nichts anderes macht als .Show();Code :1 2 3
... frmMeinFormObjekt.Show(); ...
-
Nun gut, ich bräuchte es aber in einer Funktion, da er noch mehrere Sachen dabei machen soll.
Habe das jetzt mit
probiert, funktioniert aber nicht. Wenn ich dann auf einen Button klicke, der diese Funktion aufruft, passiert gar nichts!Code :1 2 3 4
public static void GoToNextForm( Form frmToShow ) { frmToShow.Show(); }
Muss eine Form die angezeigt werden soll, nicht davor erst irgendwie geladen werden?
mfG
MANBLT - Die Bundesliga Tabelle der Saison 2011 / 2012 - http://www.spacehoster.de/blt/ NEU: mit Tippspiel!
EMail: mstangel@gmx.de
-
Wie erstellst Du denn das Objekt der Form-Klasse?
Nehmen wir mal an Deine Form-Klasse heisst "FrmTest". Dann muss der Code in Deinem Button so aussehen:
Sollte so klappen. Habs ausprobiert.Code :1 2 3
FrmTest frm = new FrmTest(); GoToNextForm(frm);
Das Leben ist sch**ße ... aber die Grafik ist geil!
-
ok, so klappt das dann auch, vielen Dank!
Habe dazu noch eine Frage: wenn ich von der einen Form dann zur anderen springe: wie kann ich die alte Form entladen? Weil wenn ich sie nur verstecke (.Hide) dann wird das Programm durch this.Close() nicht komplett beendet, sondern hängt noch in den Prozessen rum. this.Close() entlädt ja dann höchstwahrscheinlich nur die eigene Form. Wenn ich jetzt aber diese Funktion GoToNextForm aufrufe, funktioniert der Befehl this.Close() bei der alten Form nicht - warum auch immer
Die alternative wäre eine Funktion, die das komplette Programm beendet, so etwas wie bei VB die Funktion "End", welche alle Formen automatisch entlädt, die noch aktiv sind. Gibt es so etwas vielleicht bei C#?
mfG
MANBLT - Die Bundesliga Tabelle der Saison 2011 / 2012 - http://www.spacehoster.de/blt/ NEU: mit Tippspiel!
EMail: mstangel@gmx.de
-
01.07.04 11:39 #6Paranoxx Tutorials.de GastzugangDer befehl "killt" dein Programm sehr gut und aggressivCode :
1
Application.Exit();
-
Nach etwas rumsuchen im Forum hatt ich das doch auch gefunden, trotzdem vielen dank für die Antwort!
Hab da einfach mal noch eine Frage (bezieht sich nur weitgehenst auf die Formen), und zwar:
Kann ich einer Funktion eine Klasse übergeben?
Damit ich dann (in diesem Beispiel) der Funktion GoToNextForm(...) die Klasse der neuen Form übergeben kann, und die Funktion baut sich selber ein objekt und zeigt das an!
Möglich oder nicht?
mfG
MANBLT - Die Bundesliga Tabelle der Saison 2011 / 2012 - http://www.spacehoster.de/blt/ NEU: mit Tippspiel!
EMail: mstangel@gmx.de
-
01.07.04 13:34 #8
- Registriert seit
- Jun 2004
- Ort
- Österreich / Kärnten
- Beiträge
- 11
Möglich wäre das du das über Reflection machst!
Vielleicht solltest du dir mal die Klasse System.Type anschauen.
Wobei sich die Frage stellt inwiefern das Sinn macht.
Wäre ja einfach, nur einen Enum-Wert zu übergeben und in deiner statischen Methode abhängig vom Wert ein Formular zu erzeugen.
PS: Form = Das Formular und nicht die Form
-
Super: das mit einem enum ist ne gute Idee! Dann kann ich das gleiche machen, wie wenn ich die Klasse direkt übergeben würde. Vielen Dank!
So, und jetzt noch eine Frage: gibt es in C# bei Steuerelementen (bei mir jetzt Option-Felder = radioButton) Indexe, also zum Beispiel habe ich 5 Options-Felder:
optTest(0) - optTest(5)
gibts das? Und wenn, wie bekomme ich das auf der Form (auf dem Formular) hin, dass er mir (so wie es in VB ist) beim kopieren eines Options-Feldes einen Index anlegt?
mfG
MANBLT - Die Bundesliga Tabelle der Saison 2011 / 2012 - http://www.spacehoster.de/blt/ NEU: mit Tippspiel!
EMail: mstangel@gmx.de
-
01.07.04 15:01 #10Kannst da natürlich auch die andere mit übergeben, das schließt die Form immer dann, wenn du sie verlässt und du hast nicht bis zum Schluss noch zig Forms offen.Original geschrieben von MAN
wie kann ich die alte Form entladen? [...]
Wenn ich jetzt aber diese Funktion GoToNextForm aufrufe, funktioniert der Befehl this.Close() bei der alten Form nicht - warum auch immer
Code :1 2 3
FrmTest frm = new FrmTest(); GoToNextForm(frm, this); }
Code :1 2 3 4 5
public static void GoToNextForm( Form frmToShow,Form frmToClose ) { frmToShow.Show(); frmToShow.Close(); }MfG
Gorcky
-
01.07.04 15:05 #11
Da solltest du dir mal die RadioButtonGroup anschauen.
(Habe bisher nur in ASP damit gearbeitet, hoffentlich ist die Komponente nicht auch anders
)
Da musst du deine gewünschten Buttons als Items in die die Group reinpacken und kannst da auch mit 'nem Index drüber gehen.MfG
Gorcky
Ähnliche Themen
-
Web Form öffnen
Von Jejune im Forum .NET Web und KommunikationAntworten: 1Letzter Beitrag: 04.08.07, 17:02 -
Form von Form öffnen
Von cadaei im Forum VisualStudio & MFCAntworten: 0Letzter Beitrag: 02.08.07, 22:37 -
Werte einer Form über eine 2te Form in einer 3ten Form anzeigen
Von zioProduct im Forum .NET Windows FormsAntworten: 8Letzter Beitrag: 14.10.05, 08:56 -
Neue Form öffnen
Von RockCell im Forum .NET ArchivAntworten: 1Letzter Beitrag: 16.06.05, 08:39 -
Form aus Modul öffnen
Von hofchr im Forum Visual Basic 6.0Antworten: 2Letzter Beitrag: 31.08.04, 08:19





Zitieren
Login





