Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Moin.

Ich hab ein Problem. Und zwar hab ich eine Picturebox, in der das entsprechende Bundesland angezeigt werden soll. Ich hab insgesamt 16 Symbole, mit verschiedenen Wappen.

Nun meine Frage. Wie kann ich das entsprechende Bild der Picturebox anpassen, welches ich gerade benötige? Ich komm einfach nicht drauf...

Geschrieben (bearbeitet)

hm dann such dir n event schreib dann folgendes rein:


PictureBox1.ImageLocation = "Pfad des Bildes"

und wenn das event eintritt wird das bild welches als pfad festgelegt wurde geladen.

lg

simon

PS: ist allerdings nicht die beste möglichkeit da dies recht langsam von statten geht.

Bearbeitet von Gateway_man
Geschrieben

Moin!

Nimm Dir doch eine ImageList, die Du Dir beim Starten des Programms einmal mit den Bildern füllst.

Später kannst Du dann einfach mit

myPictureBox.Image = myImageList.Images[pictureIndex];

das passende Bild mit guter Geschwindigkeit zuweisen.

Geschrieben (bearbeitet)

Danke für den Tipp.

Hab mir jetzt ne ImageList erstellt und diese an ein Label gebunden. Jedoch die Bilder, die ich mir damit anzeigen lasse, sind viel zu klein. Die könnte ich schon als Icon nehmen, also viel zu klein.

Gibt´s einen Befehl oder eine Eigenschaft, mit der man die Größe ändern kann?

Mit Image Size, verschwimmen die Bilder und werden total unscharf.

Bearbeitet von ickebins1989
Geschrieben

Du kannst bei der ImageList ein ImageSize angeben (Pixelgröße). Ob man bei den enthaltenen Images selbst noch die Größe ändern muss, weiß ich jetzt nicht. Musst du einfach mal ausprobieren.

Ok hab grad dein Edit gelesen. Wie groß ist denn die Bildgröße im Allgemeinen bei deinen Bildern?

Geschrieben

Jetzt waere wa nuetzlich zu wissen, welche Groesse die Bilder haben...

Hast Du denn bei der Picturebox die Groesse auf Autosize stehen, oder hast Du nur eine kleine Picturebox auf Dein Formulargeklickt, die jetzt Deine Bildgroesse beschraenkt?

Geschrieben

Ich hab keine Picturebox mehr. Ich hab die ImageList auf ein Label gezogen.

Wenn ich die Eigenschaft autosize = true stelle, dann zeigt´s mir ganix an. Steht also auf false.

Die Bilder werden auch nicht vom Label begrenzt, von der Größe. Die Bilder sind...Moment *nachschau* 43 * 52 (B*H)

Geschrieben

Also, wenn die Bilder nur so klein sind, ist es ja auch eigentlich kein Wunder, wenn sie vergroessert so schlecht aussehen.

Warum verwendest Du denn jetzt ein Label statt der Picturebox?

Die Picturebox besitzt auf jeden Fall die Properties Size und SizeMode. Beim SizeMode kannst Du dann StretchImage waehlen, solltest hier aber auf das Seitenverhaeltnis achten.

Geschrieben (bearbeitet)

Danke.

Das Bild ist immer noch zu klein. Vergrößern bringt´s auch nicht wirklich.

Edit: Zeigt mir dann auch nur 1 Bild an. Wenn ich den Index veränderne, bleibt nur das eine Bild, von RLP.

Bearbeitet von ickebins1989
Geschrieben

Ja, ich meine Vergrößern, über die Eigenschaften. Bringt nüschts. Hab das Bild nicht in Groß da. Wird auch schwierig eins zu bekommen :)

Ich hab in der ImageList 16 Bilder. Die sind alle Gleichgroß.

Mit dem Index [ ] geb ich doch dann die Nummer an, welches Bild ich öffnen möchte oder? In der ImageList sind automatisch Nummer geschrieben worden

0,1,2,3,....16

?!

Geschrieben

Ja das mit dem Index ist richtig. Allerdings musst du darauf achten, dass du bei 0 anfängst zu zählen. Also gehts nur bis 15 (bei 16 Bundesländern). Oder zählst du Malle als 17. Bundesland dazu :floet:?

Hast du denn kein anderes Bild auf deinem Rechner? Ich meine, es ist ja nur zu Testzwecken. Wie Pointerman schon beschrieben hat, wird es an der (realen) Größe der Bilder liegen. Wäre also besser wenn du die Bilder in einem Bildverarbeitungsprogramm größentechnisch etwas modifizierst.

(Ansonsten kannst du doch bestimmt von irgendeiner Seite deine Wappen oder etwas anderes nochmal runterladen, allerdings mit etwas mehr Pixeln :))

Geschrieben (bearbeitet)

Schön, dann hab ich das mit dem Index schonmal richtig verstanden. Ja klar, ich hab gesehen, dass es bei 0 anfängt zu zählen.

Zu Malle: Naja manche würden das wohl tun ;)

Ne Spaß bei Seite, ich lad gleich mal noch ein anderes Bild rein.

Aber das Problem, welches ich habe, ist immer noch, dass ich keine anderen Bilder anzeigen lassen kann, obwohl ich den Index geändert habe. Aber warum? Das leuchtet mir nicht ganz ein?!

Edit: Vielleicht hab ich den Code einfach an der falschen Stelle platziert?

private void frmAbout_Load(object sender, EventArgs e)
{
PictureBox1.Image = ImageList1.Images[14];
}[/PHP]

Stimmt wohl so nicht, oder?

PS: Danke für die Gedult, die Ihr für mich aufbringt ;)

Bearbeitet von ickebins1989
Geschrieben (bearbeitet)

Naja, das Load-Event wird nur ein einziges Mal aufgerufen, nämlich dann, wenn das Form startet, lädt oder wie auch immer man das jetzt nennen möchte. So wie du es jetzt geschrieben hast, würde immer nur das 14. Bild in der ImageList erscheinen. Wenn bei jedem Start des Fensters ein anderes Bild da sein soll, musst du irgendeine Variable übergeben, die den Index enthält.

Oder du nimmst ne ComboBox und je nachdem was ausgewählt ist, wird das Bild geändert. Ich weiß ja jetzt nicht, was du genau vor hast.

Bearbeitet von Kati82
Geschrieben

Also, ich versuch´s Dir mal zu erläutern :)

Ich möchte später das Bild angezeigt bekommen, bzw. das Wappen, das zum Bundesland gehört.

Das Bundesland soll später bei der Installation ausgewählt werden. Ein wenig verstanden? :) Das Bild soll also nicht variieren, sonder festgelegt angezeigt werden.

Wenn ich jetzt jedoch mal zum Test den Index ändere, wird kein anderes Bild angezeigt, sondern nur das von Rheinland-Pfalz.:confused:

Geschrieben

Hmm, kann ich mir jetzt eigentlich nicht vorstellen, dass das so ist. Ich nehme mal an, dass du schon alle Bilder in deine Imagelist übernommen hast. Die Bilder selber, wo sind die denn gespeichert? Im gleichen Pfad wie, dein Sourcecode auch? Zumindest funktioniert es so bei mir. Vielleicht schaust du mal bei Debuggen an die Stelle, wo du der PictureBox das Bild zuordnest. Schau dort mal nach, ob in der ImageList was steht (bei ImageList->images->count steht die anzahl der bilder in der Imagelist)

Geschrieben

Also, wenn ich das mit einem Label mache, funktioniert es...Ich geb den anderen Index an, dann wird auch das andere Bild angezeigt.

Bin mir nur noch nicht sicher, wie ich das automatisiere, aber wird schon. Aber das mit der PictureBox ist mir ein Rätsel...

Geschrieben

Mir ist das auch ein Rätsel. Habe die Vermutung, dass nur ein Bild in der ImageList ist. Bei mir funktioniert es ja.

Wenn du das später automatisierst, würde ich das so machen (Achtung: ist vielleicht auch nicht die professionellste Lösung - bin fortgeschrittener Anfänger :D):

Bei der Installation musst du dir das Bundesland bzw. den entsprechenden Index merken. Den Index speicherst du dir in ein ini-File oder irgendein anderes File. Dieses liest du dann aus, wenn du dein Form lädst. So kannst du später das Bundesland gegebenenfalls noch ändern.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...