Autor Beitrag
darkangel1208
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 36



BeitragVerfasst: So 29.11.09 18:15 
Ic hhabe mir ein pictureBox array gemacht in den meine 5 Picturboxen sind (dices[5])

Nun will ich aus der Ressourcendatei ein Bild einfügen lassen. Wenn ich den namen (_1) direkt angebe geht es, aber ich habe den Namen in einem String-Array würfel gespeichert und will nun den Arrayplatz angeben. Der einfachheithalber habe ich den Bildern die namen 1,2,3 ect verpasst.

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
würfel = new String[6] { "_1""_2""_3""_4""_5""_6" };
for(int i = 0; i < 5; i++)
{
rollen[i] = rnd.Next(17);
// aus
dices[i].BackgroundImage = global::Kniffel1.Properties.Resources._1;
// soll werden
dices[i].BackgroundImage = global::Kniffel1.Properties.Resources.würfel[Convert.ToString(rollen[i-1])];
// welches Bild ich dort angezeigt haben möchte ist in rollen[i] gespeichert
}

Er meckert aber Fehler "Kniffel1.Properties.Resources" enthält keine Definition für "würfel".
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: So 29.11.09 18:47 
Der einfachste Weg dürfte sein, für die Images ebenfalls ein Array anzulegen:
ausblenden C#-Quelltext
1:
var images = new Image[] { Resources._1, Resources._2, ... }					

_________________
>λ=
darkangel1208 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 36



BeitragVerfasst: So 29.11.09 20:00 
naja ich hatte jetzt nur ein Array angelegt, das nur die namen der Bilder enthält. aber ein Array anzulegen das das komplette Bild enthält, auf die Idee bin ich nicht gekommen.

aber irgendwie klappt das noch net so recht, was du mir da an die Hand gegeben hast.

bist du sicher das das so gemeint ist?

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
var images = new Image[] { Resources._1, Resources._2, ... }
// bzw
var images = new Image[2] { Resources._1, Resources._2 }
// das nimmt er wohl, würde aber mein problem nicht lösen
var images = new Image[] { global::Kniffel1.Properties.Resources._1  };

//aber dann leider weiter unten nicht mehr
dices[i].BackgroundImage = images[0];


//Ich will ja an die Stelle _bild das bild laden [mit namen 1, 2 ect ( 1.jpeg,2.jpeg )] das sich als Zahl in rollen[i] versteckt (rollen[i]= z.B. 1 oder 2)
dices[i].BackgroundImage = global::Kniffel1.Properties.Resources._bild;
dices[i].BackgroundImage = global::Kniffel1.Properties.Resources.würfel [ Convert.ToString ( rollen[i-1] ) ];
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: So 29.11.09 20:09 
user profile icondarkangel1208 hat folgendes geschrieben Zum zitierten Posting springen:
bist du sicher das das so gemeint ist?
Japp :D . Mit einem using Kniffel1.Properties solltest du dir diese schrecklichen Präfixe sparen können.
user profile icondarkangel1208 hat folgendes geschrieben Zum zitierten Posting springen:
ausblenden C#-Quelltext
1:
//aber dann leider weiter unten nicht mehr					
Was willst du mir damit sagen? Wenn du das Array nur einmal, also z.B. im Form-Konstruktor, anlegen willst (was sicherlich sinnvoll wäre), darfst du es nicht in eine lokale Variable speichern, sondern musst ein Klassenfeld benutzen.

_________________
>λ=
MoBBer
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 37
Erhaltene Danke: 1



BeitragVerfasst: So 29.11.09 20:29 
So wie Kha es geschrieben hat funktioniert es einwandfrei. Hab es hier an einem kleinen Beispiel ausprobiert.
Läuft wunderbar.

ausblenden 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:
25:
26:
27:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using WindowsApplication1.Properties;

namespace WindowsApplication1
{
    public partial class Form1 : Form
    {
        Image[] bilder = new Image[2] {Resources._1, Resources._2 };
        public Form1()
        {
            InitializeComponent();

            PictureBox[] pbxe = new PictureBox[2] { this.pictureBox1, this.pictureBox2 };
            Random zufall = new Random();
            for (int i = 0; i < 2; i++)
            {
                pbxe[i].BackgroundImage = this.bilder[zufall.Next(02)];
            }            
        }
    }
}


mfG MoBBer
darkangel1208 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 36



BeitragVerfasst: So 29.11.09 20:53 
ja ok jetzt gehts. mir ist irgendwie das

using Kniffel1.Properties;

durch die Lappen gegangen.
Danke das hat mein Leben gerettet.