Entwickler-Ecke

C# - Die Sprache - Zufallsbilder anzeigen in Form1 von Resources Ordner??


HaShLo - So 18.05.08 14:14
Titel: Zufallsbilder anzeigen in Form1 von Resources Ordner??
Hallo Leute ich hab eine kurze Frage?

Unszwar möchte ich Zufallsbilder,die per Zufall bestimmt werden von Resources Ordner anzeigen lassen.

Das habe ich auch sehr gut hingekriegt.

Mit dem folgenden Code:


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
// Zufallswürfelzahl generieren
wuerfel = zufallsobjekt.Next(17);

switch (wuerfel)
{
case 1:
  pictureBox1.Image = Große_Hausnummer.Properties.Resources.wuerfel_1;
  break;
case 2:
  pictureBox1.Image = Große_Hausnummer.Properties.Resources.wuerfel_2;
  break;
case 3:
  pictureBox1.Image = Große_Hausnummer.Properties.Resources.wuerfel_3;
  break;
case 4:
  pictureBox1.Image = Große_Hausnummer.Properties.Resources.wuerfel_4;
  break;
case 5:
  pictureBox1.Image = Große_Hausnummer.Properties.Resources.wuerfel_5;
  break;
case 6:
  pictureBox1.Image = Große_Hausnummer.Properties.Resources.wuerfel_6;
  break;
}


So das ist mein Code aber ich möchte es gerne gekürzt haben , wenn es möglich ist.

Weil Programmierer wollen ja alles so gut wie möglich kurz machen deshalb.

Zu dieser Kürzerungsgeschichte habe ich mir einfach folgenden Code ausgedacht was aber leider nicht geklappt hat

und genau dazu brauche ich bitte eure Hilfe....


C#-Quelltext
1:
2:
3:
4:
// Zufallswürfelzahl generieren
wuerfel = zufallsobjekt.Next(17);

picturebox1.Image = "Große_Hausnummer.Properties.Resources.wuerfel_" + wuerfel;


Also den Switch Teil ganz weg und dafür am ende die generierte Zufallszahl nämlich wuerfel dran hängen

da ich ein alter Visual Basic Hase bin habe ich es mit dem Code versucht weil bei Visual Basic klappt es

und hier bei C# sagt er mir es kann kein string typ bei System.Drawing.Image verwendet werden und sowas..

Dazu brauche einmal eure Hilfe bitte , geht es dass ich es so ungefähr wie in meiner verkürzte art schreiben kann und wenn ja
wie??

HELP , HELP :D

HaShLo BuRn grüßt....

Moderiert von user profile iconChristian S.: Code- durch C#-Tags ersetzt


Christian S. - So 18.05.08 14:23

C# ist keine Skriptsprache und außerdem noch streng-typisiert. Das kann nicht klappen und eigentlich gehört es zu den Grundlagen der Grundlagen von C#, dass man weiß, dass das nicht klappen kann.

Wenn Du eine Resource über ihren Namen als String ansprechen willst, dann kannst Du das so machen:

C#-Quelltext
1:
pictureBox1.Image = (Bitmap)Große_Hausnummer.Properties.Resources.ResourceManager.GetOjbect("wuerfel_4");                    


HaShLo - So 18.05.08 14:37

super danke Christian S.!!

Das hat super geklappt

ich hab folgendes gemacht

Quelltext
1:
pictureBox1.Image = (Bitmap)Große_Hausnummer.Properties.Resources.ResourceManager.GetObject("wuerfel_" + wuerfel1.ToString());                    


Danke nochmal damit wäre es erledigt...;):D