Autor Beitrag
Xasevu
Hält's aus hier
Beiträge: 1



BeitragVerfasst: Di 18.10.16 10:43 
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):


ausblenden 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 user profile iconChristian S.: C#-Tags hinzugefügt
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4700
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Di 18.10.16 11: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 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.