BackgroundImage von Panel

Dipsi

Mitglied
Hallo

Ich habe ein kleines Problem. (C#.NET - VS 2005).

Beim starten von meinem Programm, erstelle ich ein Objekt von der Klasse Panel und gebe ihm ein Hintergrundbild (aus den Resourcen im Projekt).
Dieses Hintergrundbild verändert sich. Kommt draufan was der User macht.

Ist es möglich, herauszufinden welches Hintergrundbild das im Panel definiert ist?

Vielen Dank.
 
Hi

So wie du das Image setzen kannst, kannst du es auch wieder abfragen vom Control. Das Property BackgroundImage hat sowohl Getter als auch Setter.
Anschließend kannst du überprüfen, ob das Bild dem entspricht, welches du suchst.
Alternativ könntest du auch im Tag-Property des Panels den Namen des Image hinterlegen und diesen nutzen.
 
Über BackgroundImage habe ich es schon versucht.
Wie bekomme ich aber den Namen?
Bei mir kommt immer "System.Drawing.Bitmap". :confused:

Möchte es lieber ohne "Tag" lösen. Finde ich ein bisschen schöner :)
 
Hm.. Das ganze ist ein wenig kompliziert. :confused:
Weil die Bilder im Programm sind (resourcen).
Und irgendwie kann ich diese im Programm gar nicht unterscheiden. :-S

Wie soll ich sagen. Wenn ich so ein Bild lade (Panel.BackgroundImage) und beim Debuggen den Inhalt ansehe gibt es keinen unterschied zwischen diesen Bildern.
Es steht niergends ein Name vom Bild oder so etwas.
Ich kann nicht einen eindeutigen Wert in die Tag Eigenschaft speichern weil die Bilder im Programm "irgendwie" identisch sind. :S

Kommt jemand nach was ich meine?:)
 
Aber du weißt doch, wann du welches Bild setzt. Und in dem Fall kannst du diese Info auch zwischensichern (im Tag, zusätzliche Variable,...)
 
Also

Ich setze das Bild so:

Code:
this.arrPanel[3].BackgroundImage = global::MM.Properties.Resources.Blau;

Das Bild kann aber mit der Maus (Drag&Drop) geändert werden.

Das sieht so aus:

Code:
public void PanelBallDrop(object Sender, DragEventArgs e)
        {            
            Panel DestPanel = (Panel)Sender;
            DestPanel.BackgroundImage = (Bitmap)e.Data.GetData(typeof(Bitmap));

        }

Das funktioniert auch. Also das aktuelle Bild wird durch ein neues ersetzt (Drag&Drop).
Aber wenn ich "BackgroundImage" im Debug ansehe siehe ich keine Information über den Namen.

Das Problem ist jetzt, dass ich keine Zusatzinformationen (wie Name) zum Panel über das Bild speichern kann weil ich diese Infos gar nicht habe/kenne.
"BackgroundImage" sieht bei jedem Bild das ich im Panel setze immer gleich aus. Egal welches Bild ich genommen habe. (Oder ich habe noch keine Unterschied gefunden.)

Es ist noch schwierig zum berschreiben.:mad:
 
Zurück