Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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...

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

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.

  • Autor

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

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?

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?

  • Autor

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)

Und wenn du wieder die PictureBox verwendest, ist da das gleiche Problem?

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.

PictureBox.Image = ImageList.Images[0];

(Hatte Pointerman auch schon geschrieben)

  • Autor

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

Meinst du Vergrößern im Visual Studio? Wenn ja, dann probier mal ein anderes größeres Bild.

  • Autor

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

?!

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 :))

  • Autor

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

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

  • Autor

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:

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)

  • Autor

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...

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.

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.