Anzeigen von laufenden Bildnummern.



  • Hallo,

    ich bin es leider schon wieder mal der eure Hilfe benötigt.

    hier die aufgabenstellung.

    Lassen Sie in dem Formular für die Einzelbildanzeige in dem Bildbetrachter neben dem
    Text Große Darstellungauch noch den Pfad und den Namen der aktuell angezeigten
    Grafikdatei anzeigen.
    Für die Datei test.bmp im Ordner c:\test könnte der Text in der Titelleiste zum Beispiel
    so aussehen:
    Große Darstellung – c:\test\test.bmp
    Ändern Sie auch den Text in der Titelleiste des Formulars für die Bilderschau. Dort sollen neben dem Text Bilderschauund dem Pfad und Namen der aktuell angezeigten Datei auch noch die Anzahl der Bilder in der Bilderschau und die Nummer des aktuellen
    Bildes angezeigt werden.Bei einer Bilderschau mit insgesamt 3 Bildern sollte der Text in der Titelleiste des Formulars für das erste Bildungefähr so aussehen:
    Bilderschau – Bild 1 von 3 c:\test\test.bmp
    Notieren Sie für die Lösung dieser Aufgabe bitte ebenfalls, welche Änderungen an welchen Stellen im Quelltext erforderlich sind.

    so also der eigentliche Bildbetrachter läuft, auch das mit den anzeigen der Großen Darstellung sowie die gesamt Anzahl der bilder zeigt er mir an nur ahlt nicht die Aktuelle Bildnummer zb. 3 von 5 oder so.

    hier mal mein Quelltext hoffe er ist einigermassen sauber geschrieben.

    private void buttonStarten_Click(object sender, EventArgs e)
            {
    
                if (listBox1.Items.Count == 0)
                {
                    MessageBox.Show("Die Datei existiert nicht!", "Fehler");
                    return;
                }
                if (listBox1.SelectedIndex == -1)
                    listBox1.SelectedIndex = 0;
                fensterBilderschau = new FormMax();
                fensterBilderschau.Bildladen(listBox1.SelectedItem.ToString());
                fensterBilderschau.Text = ("Bilderschau  Bild" + (listBox1.//......\\) + "von" + (listBox1.Items.Count) + (listBox1.SelectedItem));
                // das Systemmenü und das Schließsymbol ausschalten
                fensterBilderschau.ControlBox = false;
                //das Formular anzeigen
                fensterBilderschau.Show();
                if (listBox1.SelectedIndex < listBox1.Items.Count - 1)
                {
                    listBox1.SelectedIndex++;
                    fensterBilderschau.Bildladen(listBox1.SelectedItem.ToString());
                    //einen Sound aus der Systemsteuerung abspielen
                    System.Media.SystemSounds.Asterisk.Play();
                }
                else
                {
                    listBox1.SelectedIndex = -1;
                    timer1.Stop();
                    fensterBilderschau.Close();
                }
                timer1.Start();
        }
    

    das ist nur der teil der mir fehlt hab es ausgeklammert.

    Ich hoffe Ihr könnt mir helfen mit Tipps.



  • hab nochmal überlegt.

    und zwar

    fensterBilderschau.Text = "Bilderschau  Bild" + (listBox1.SelectedIndex+1) + "von" + listBox1.Items.Count + listBox1.SelectedItem;
    

    so funktioniert es sieht aber alles zusammen gefärcht aus

    wie kann ich das nun lösen



  • Du solltest noch ein paar Leerzeichen in den String einfügen... 😕



  • Hallo,

    Ich hab nochmal ne frage bezüglich einem Timer

    und zwar habe ich einen numeric bitten eingebaut, den hab ich festgelegt von 0 bis 15.

    wie kann ich die schleife so legen das er nur dan anläuft wen der User den numeric butten einstellet?

    private void timer1_Tick(object sender, EventArgs e)
            {
                if (listBox1.SelectedIndex < listBox1.Items.Count - 1)
                {
                    if(timer1.Interval !=0 )
                    timer1.Interval = Convert.ToInt32(numericUpDown1.Value * 1000);
                    listBox1.SelectedIndex++;
                    fensterBilderschau.Bildladen(listBox1.SelectedItem.ToString());
                }
                else
                {
                    if(timer1.Interval==0)
                    MessageBox.Show("Bitte wählen Sie eine Zeit aus!", "Fehler");
                    listBox1.SelectedIndex = -1;
                    timer1.Stop();
                    fensterBilderschau.Close();
                    return;
                }
    
                    timer1.Start();
    

    also wenn der User den numeric button einstellt funzt es einwandfrei aber stellt er nix ein geht es auch, also es kommt dan nur das erste bilde dan friet das Programm ein.

    Könnte mir jemand einen tipp geben.

    Frohe Ostern euch allen 🙂


Log in to reply