Xasevu - Di 18.10.16 09:43
Titel: Form mit Variable bearbeiten
Hallo Community,
Ich bin neu hier und hätte eine frage wie kann ich in C# meinen Wunsch verwirklichen(bin noch nicht so lange am programmieren)?
Ich will mithilfe einer Variable eine bzw mehrere Formen öffnen.
Meine vorstellung ist diese:
Ich habe Mehrere forms mit fortlaufender nummerierung und einen zufallsgenerator der mir ein zahl ausspuckt.
Ich möchte in meiner hautform mit einem buttonklick eine zfällig andere für öffnen.
habe es mir ca so vorgestellt(ich weis das es so nicht funktioniert):
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| random Zufall = new Random(); int i;
private void button1_Click(object sender, EventArgs e) { i = Zufall.Next(0,15); Grundlagen[i] frm = new Grundlagen[i](); frm.Show(); } |
Liebe Grüße
Xasevu
Moderiert von
Christian S.: C#-Tags hinzugefügt
Ralf Jansen - Di 18.10.16 10:16
Eine Lösungsmöglichkeit.
1.) Mach dir eine Liste List<Type> in der du die Typen deiner Formen speicherst.
2.) Würfel einen Index und nimm den entsprechenden TYpen an der Stelle mit diesem Index aus der Liste
3.) Instanziiere disen Typen via einer
Activator.CreateInstance [
https://msdn.microsoft.com/en-us/library/system.activator.createinstance.aspx] Methode.
4.) Caste diese Instanz auf Form und rufe daran dann Show auf.
Bonus:
5.) Schreib dir eine schöne Kapselung der Liste mit den Form Typen so das man darin auch wirklich nur Formen ablegt und nicht irgendwelche TYpen udn du dir dieverse casts ersparen kannst.