Laden...

PictureBox: Bild (Resource) wechseln *geändert*

Erstellt von davechu vor 16 Jahren Letzter Beitrag vor 16 Jahren 9.043 Views
D
davechu Themenstarter:in
46 Beiträge seit 2006
vor 16 Jahren
PictureBox: Bild (Resource) wechseln *geändert*

// EDIT: Ich versuche mal das Problem etwas einfacher zu formulieren:

Wie kann ich das Bild in einer PictureBox zur Laufzeit ändern? Das Bild liegt als Resource im Projekt vor.

998 Beiträge seit 2007
vor 16 Jahren

na einach so:


pictureBox.Image = Resource1.deiBild;

Meinst du das?

Gruß David

D
davechu Themenstarter:in
46 Beiträge seit 2006
vor 16 Jahren

Bei mir ging das nicht, aber jetzt habe ich es rausgefunden:

Properties.Resources.meinBild;

Jetzt kommt das nächste Problem: Ich muss dieses Bild an eine Funktion als Referenz übergeben. Da sagt er aber:

Fehler 1 Eine Eigenschaft oder ein Indexer kann nicht als out- oder ref-Parameter übergeben werden. E:\Programmierung\C#\Meine Projekte\Microsoft Visual Studio 2005\MusicManager\1\MusicManager\MusicDownloadManager\Form1.cs 47 44 MusicManager

Wie kann ich der Funktion eine Referenz des Bildes übergeben?

49.485 Beiträge seit 2005
vor 16 Jahren

Hallo chri,

die Fehlermeldung passt nicht zu dem Code. Außerdem sagt die Fehlermeldung genau, was das Problem ist. Siehe [Hinweis] Syntaxfehler selbst lösen (Compilerfehlermeldungen)

BTW: Fehlermeldungen bitte nicht mit

 sondern mit [QUOTE] einschließen.

herbivore
D
davechu Themenstarter:in
46 Beiträge seit 2006
vor 16 Jahren

Die MSDN-Hilfe leitet mich an die Seite "Übergeben von Parametern (C#-Programmierhandbuch)" weiter. Dieser Seite zufolge habe ich das richtig gemacht. Ich glaube es liegt eher daran, das C# Probleme damit hat, die Resource als Referenz an die Funktion zu übergeben.

Hier der Code:

		private void buttonAlbumAdd_Click(object sender, EventArgs e)
		{
			RatingControlManager test = new RatingControlManager();
			test.test(ref this.pictureBoxStar1, ref Properties.Resources.star2);
		}
		public void test(ref System.Windows.Forms.PictureBox star, ref System.Drawing.Bitmap image)
		{
			star.Image = image;

		}

Wie kann ich das Bild als Referenz an die Funktion übergeben?

998 Beiträge seit 2007
vor 16 Jahren

*hust* also das Problem liegt eher nicht bei C# sondern an deiner (sorry wenn ich es so ausdrücke) mangelhaften Kenntnis...

In C# werden Objekte IMMER als Referenz übergeben...

Die PictureBox und das Bitmap als ref zu übergeben ist also total sinnlos, da sie das ohne hin schon werden...

Gruß David

Edit: falls du dir das im 🛈 anschauen willst, Stichwort Wertetypen und Referenztypen...

D
davechu Themenstarter:in
46 Beiträge seit 2006
vor 16 Jahren

Ich glaube es liegt eher daran, das C# Probleme damit hat, die Resource als Referenz an die Funktion zu übergeben.

Habe auch nicht gemeint, dass das Problem an C# liegt, sondern an der Art wie ich C# anwende. 😁

Ok danke, habe nicht gewusst, dass System.Drawing.Bitmap ein Objekt ist (habe gedacht es wäre ein Datentyp).

49.485 Beiträge seit 2005
vor 16 Jahren

Hallo chri,

System.Drawing.Bitmap ist ja auch ein Datentyp und kein Objekt.

herbivore

998 Beiträge seit 2007
vor 16 Jahren

Aber wenn du


Bitmap irgendwas = (Bitmap)Image.fromIrgendwas();

machst hast du ein Objekt und das ist ein Referenztyp...

Wenn du z.B- nen int-Wert hättest könntest du mit ref arbeiten, weil das Wertetypen sind...

Gruß David