Bild in Picturebox alle 3 Monate ändern
- VB.NET
- .NET (FX) 4.5–4.8
Sie verwenden einen veralteten Browser (%browser%) mit Sicherheitsschwachstellen und können nicht alle Funktionen dieser Webseite nutzen.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Es gibt 21 Antworten in diesem Thema. Der letzte Beitrag () ist von Drahuverar.
-
-
-
Hallo,
würde die folgende Ansätze geben:
1.Speicher dir das Datum (DateTime Format) beim Wechseln des Bildes (MySettings oder Textdatei oder Ini Datei (das wäre jedem selbst überlassen aber so hast du da ein paar Begriffe zum Arbeiten)
2.Prüfe dann beim Start des Programmes oder alle X Stunden ob seit dem letztem Wechsel mehr oder gleich 3 Monate vergangen sind. (TimeSpan / DateTime / If Abfrage)
3.Wenn ja dann wechsel das Bild und fang bei 1 an. Wenn nicht dann tu nichts.
Ansonsten wären auf jedenfall die Grundlagen von Vorteil dazu gibt es hier im Forum eine Menge Threads.
Falls du noch Hilfe benötigst Poste doch einfach deinen bisherigen Code da können wir dir dann noch viel besser helfen
Greetz -
Wie gesagt, wichtig wäre ja zunächst zu erfahren, welche Umgebung gegeben ist. Könnte ja sein, dass er nicht wirklich 'ne Settings Datei bräuchte.
Dann kann man ja eben fix den Monat herausziehen von 'Heute' und mit Select Case bist' da schnell durch, je nachdem wie der Zyklus eben ist. Kann Quartalsweise sein, könnte aber auch variieren.Option Strict On! -
-
Okay, jetzt wird es nämlich interessant.
Nur schauen, wenn du nicht selbst weißt, wie du vorgehen sollst. Ansonsten; Date und Select Case. Denk dran, dass du in einer Select Anweisung auch "Von-Bis" gehen kannst.
Jahreszeiten
Wenn du es auf den Tag genau haben möchtest, müsste man also etwas mehr machen. Ich beziehe mich nun mal auf die Nördliche Hemisphäre der Astronomische Jahreszeiten:
Monatesverteilung nach Quelle VB.NET-Quellcode
- Select Case DateAndTime.Month(DateTime.Now)
- Case 3 'März kann Winter und Frühling sein
- Select Case Today.Day
- Case 1 To 20 'Winter
- PictureBox1.Image = My.Resources.Winter
- Case 21 To 31 'Frühling
- PictureBox1.Image = My.Resources.Fruehling
- End Select
- Case 6 'Juni kann Frühling und Sommer sein
- Select Case Today.Day
- Case 1 To 21 'Frühling
- PictureBox1.Image = My.Resources.Fruehling
- Case 21 To 31 'Sommer
- PictureBox1.Image = My.Resources.Sommer
- End Select
- Case 9 'September kann Sommer und Herbst sein
- Select Case Today.Day
- Case 1 To 20 'Sommer
- PictureBox1.Image = My.Resources.Sommer
- Case 21 To 31 'Herbst
- PictureBox1.Image = My.Resources.Herbst
- End Select
- Case 12 'Dezember kann Herbst und Winter sein
- Select Case Today.Day
- Case 1 To 20 'Herbst
- PictureBox1.Image = My.Resources.Herbst
- Case 21 To 31 'Winter
- PictureBox1.Image = My.Resources.Winter
- End Select
- Case 4, 5 'Frühling
- PictureBox1.Image = My.Resources.Fruehling
- Case 7, 8 'Sommer
- PictureBox1.Image = My.Resources.Image_1
- Case 10, 11 'Herbst
- PictureBox1.Image = My.Resources.Image_1
- Case 1, 2 'Winter
- PictureBox1.Image = My.Resources.Image_1
- End Select
Option Strict On!Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Drahuverar“ ()
-
Hi,
dann schau Dir an, wann die Jahreszeiten beginnen (Monat oder Tag wenns gefordert ist) und weise wie bereits @Drahuverar sagte, in einem Select Case entsprechnd das Bild aus der Ressource zu."Hier könnte Ihre Werbung stehen..." -
Select Case DateAndTime.Month(DateTime.Now)
Case 3 'März kann Winter und Frühling sein
Select Case Today.Day
Case 1 To 20 'Winter
PictureBox1.Image = My.Resources.stoppuhr
Case 21 To 31 'Frühling
PictureBox1.Image = My.Resources.basic
End Select
Case 6 'Juni kann Frühling und Sommer sein
Select Case Today.Day
Case 1 To 21 'Frühling
PictureBox1.Image = My.Resources.Gewicht
Case 21 To 31 'Sommer
PictureBox1.Image = My.Resources.diätwaage_104x104
End Select
Case 9 'September kann Sommer und Herbst sein
Select Case Today.Day
Case 1 To 20 'Sommer
PictureBox1.Image = My.Resources.diätwaage_80x80
Case 21 To 31 'Herbst
PictureBox1.Image = My.Resources.stoppuhr
End Select
Case 12 'Dezember kann Herbst und Winter sein
Select Case Today.Day
Case 1 To 20 'Herbst
PictureBox1.Image = My.Resources.diätwaage_104x104
Case 21 To 31 'Winter
PictureBox1.Image = My.Resources.basic
End Select
Case 4, 5 'Frühling
PictureBox1.Image = My.Resources.stoppuhr
Case 7, 8 'Sommer
PictureBox1.Image = My.Resources.Gewicht
Case 10, 11 'Herbst
PictureBox1.Image = My.Resources.diätwaage_80x80
Case 1, 2 'Winter
PictureBox1.Image = My.Resources.diätwaage_104x104
End Select
Das werde ich mal versuchen.
Noch eine Frage. Ich hoffe ich nerve euch nicht damit.
Wo muss der Code hin?
Danke
Manni -
am besten in eine Sub:
VB.NET-Quellcode
- Private Sub CheckYearSeason()
- Select Case DateAndTime.Month(DateTime.Now)
- Case 3 'März kann Winter und Frühling sein
- Select Case Today.Day
- Case 1 To 20 'Winter
- PictureBox1.Image = My.Resources.Winter
- Case 21 To 31 'Frühling
- PictureBox1.Image = My.Resources.Fruehling
- End Select
- Case 6 'Juni kann Frühling und Sommer sein
- Select Case Today.Day
- Case 1 To 21 'Frühling
- PictureBox1.Image = My.Resources.Fruehling
- Case 21 To 31 'Sommer
- PictureBox1.Image = My.Resources.Sommer
- End Select
- Case 9 'September kann Sommer und Herbst sein
- Select Case Today.Day
- Case 1 To 20 'Sommer
- PictureBox1.Image = My.Resources.Sommer
- Case 21 To 31 'Herbst
- PictureBox1.Image = My.Resources.Herbst
- End Select
- Case 12 'Dezember kann Herbst und Winter sein
- Select Case Today.Day
- Case 1 To 20 'Herbst
- PictureBox1.Image = My.Resources.Herbst
- Case 21 To 31 'Winter
- PictureBox1.Image = My.Resources.Winter
- End Select
- Case 4, 5 'Frühling
- PictureBox1.Image = My.Resources.Fruehling
- Case 7, 8 'Sommer
- PictureBox1.Image = My.Resources.Image_1
- Case 10, 11 'Herbst
- PictureBox1.Image = My.Resources.Image_1
- Case 1, 2 'Winter
- PictureBox1.Image = My.Resources.Image_1
- End Select
- end Sub
die rufts Du dan imm Form_Load Event auf"Hier könnte Ihre Werbung stehen..." -
Kein Problem, du hast ja gesagt, dass du Anfänger in .NET bist und wir sind ja alle hier um zu lernen und zu helfen.
Kleiner Tipp: Mach den Code, den du gepostet zwischen den VB-Tag [-vbnet][/vbnet-] (die "-"-Zeichen müssen weg), dann wird das besser dargestellt im Forum.
Wenn du eine Anwendung hast, die gestartet wird, kannst du das im Load Event aufrufen. Du kannst diese Anweisung aber auch noch in eine Methode verpacken und anschließend im Load Event die Methode aufrufen:
Du kannst auch einen Button benutzen und dort die Methode aufrufen.
Gruß,
DrahuverarOption Strict On! -
-
-
-
-
-
-
manni4545 schrieb:
es funktioniert bis das heute der Frühling statt Winter angezeigt wird.Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch
Ein guter .NET-Snippetkonverter (der ist verfügbar).
Programmierfragen über PN / Konversation werden ignoriert! -
-
Also so finde ich es uebersichtlicher.
Spoiler anzeigen VB.NET-Quellcode
- Public Class Form1
- Private Sub SetSeasonImage()
- Const Spring As Integer = 80
- Const Summer As Integer = 172
- Const Autumn As Integer = 264
- Const Winter As Integer = 355
- Dim day As Integer = Now.DayOfYear
- If Date.IsLeapYear(Now.Year) AndAlso Now.Month >= 3 Then
- day -= 1
- End If
- Select Case True
- Case day >= Winter, day < Spring
- 'PictureBox1.Image = My.Resources.Winter
- Case day >= Autumn
- 'PictureBox1.Image = My.Resources.Autumn
- Case day >= Summer
- 'PictureBox1.Image = My.Resources.Summer
- Case day >= Spring
- 'PictureBox1.Image = My.Resources.Spring
- End Select
- End Sub
- Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
- SetSeasonImage()
- End Sub
- End Class
And i think to myself... what a wonderfuL World! -
-
Ähnliche Themen
-
PictureBox um ihre Achse drehen
ComputerNoob - - Sonstige Problemstellungen -
Fluvoxamin - - Sonstige Problemstellungen
-
6 Benutzer haben hier geschrieben
- manni4545 (7)
- MichaHo (6)
- Drahuverar (6)
- xChRoNiKx (1)
- RodFromGermany (1)
- Eddy (1)