Autor |
Beitrag |
Ritzeratze
      
Beiträge: 101
|
Verfasst: Mo 24.02.14 10:00
Moin,
Ich möchte in der Titelleiste eines Formularfensters den vollständigen Pfad einer Datei angeben.
Den Dateinamen extrahiere ich aus einem Öffnen Dialog.
Das Ergebnis sieht dann so aus: System.IO.Path.GetFullPath(openFileDialog1.FileName);
Wenn ich mehrere Dateien aus einen Dialog auswähle, und diese in einer listbox ablege und als Bilderschau starte,
dann möchte ich in der Titelleiste neben dem Pfad un den Dateinamen auch noch die aktuelle Anzahl der Bilder angezeigt bekommen.
Bsp: c:\Verz\Dateiname Bild 1 von x
Gibt es dafür auch eine Funktion oder muss ich da selber was basteln?
Gruss Ritze
Moderiert von Th69: Titel geändert (Tittel -> Titel ;-).
Moderiert von Th69: C#-Tags hinzugefügt
|
|
Christian S.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: Mo 24.02.14 10:09
Für was genau suchst Du jetzt eine Funktion? 
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
Ritzeratze 
      
Beiträge: 101
|
Verfasst: Mo 24.02.14 10:39
Hallo Christian,
wie bekomme ich die Anzeige Bild 1 von x hin.
|
|
Christian S.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: Mo 24.02.14 10:47
Bin mir nicht sicher, ob Du wirklich das hier meinst:
C#-Quelltext
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
Ritzeratze 
      
Beiträge: 101
|
Verfasst: Mo 24.02.14 12:45
Ja, nur muss das automatisch passieren. Die Dateien die ich für eine Vorschauanzeige über den Dialog auswähle,
werden in eine listbox abgelegt. (das kann eine oder auch mehrere sein). Über eine Timerfunktion wird dann jedes Bild
im vorgegebenen Interval angezeigt. Dabei soll neben Pfad und Name der Datei auch Bild 1 von x angezeigt werden.
C#-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| private void openFileDialog2_FileOk(object sender, CancelEventArgs e) { string[] dateien = openFileDialog2.FileNames;
if (listBoxfileName.Items.Count != 0) { listBoxfileName.Items.Clear(); } foreach (string datei in dateien) listBoxfileName.Items.Add(datei); } |
Moderiert von Th69: Code- durch C#-Tags ersetzt
|
|
Th69
      

Beiträge: 4798
Erhaltene Danke: 1059
Win10
C#, C++ (VS 2017/19/22)
|
Verfasst: Mo 24.02.14 12:56
Hallo,
dann mach das doch
Du mußt einfach nur in der Timer-Methode den Titeltext ändern...
|
|
Ritzeratze 
      
Beiträge: 101
|
Verfasst: Mo 24.02.14 16:57
Jo, das funktioniert auch alles. Hänge nur fest wie ich die Anzahl der Listboxeinträge in die Titelzeile bekomme.
Gruss Ritze
|
|
Ralf Jansen
      
Beiträge: 4708
Erhaltene Danke: 991
VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
|
Verfasst: Mo 24.02.14 17:02
C#-Quelltext 1:
| this.Text = string.Format("1 von {0}", dateien.Length); |
|
|
Ritzeratze 
      
Beiträge: 101
|
Verfasst: Di 25.02.14 14:15
Moin,
OK, das funktioniert soweit das mir die Gesamtanzahl der Dateien angezeigt werden.
Jedes Bild soll für eine bestimmte Zeitdauer angezeigt werden. Dabei soll in der
Fenstertiteleiste z.B. bei 2 Bilder folgendes angezeigt werden.
Bild1: Bild 1 von 2 c:\Verz\Name
Bild2: Bild 2 von 2 c:\Verz\Name
Über SelectedIndex der Listbox funktioniert das nicht.
Gruss Ritze
|
|
Christian S.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: Di 25.02.14 14:25
Irgendeinen Index wirst Du ja aber haben, sonst könntest du die Bilder ja nicht anzeigen. Den schreibst Du dann halt in den String.
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
Ritzeratze 
      
Beiträge: 101
|
Verfasst: Di 25.02.14 17:59
Hm,
dabei kommt schon ein wenig verwerrtbares raus allerdings nicht so in der Form wie erhofft.
C#-Quelltext 1:
| Vorschau.Text = "Vorschau" + " - " + "Bild " + "von " + listBoxfileName.Items.Count + listBoxfileName.SelectedIndex + listBoxfileName.SelectedItem.ToString(); |
Geht es auch anders ?
Gruss Ritze
Moderiert von Christian S.: C#-Tags hinzugefügt
|
|
Christian S.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: Di 25.02.14 18:01
Es geht am Besten so, wie Ralf es Dir gezeigt hat ...
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
Ritzeratze 
      
Beiträge: 101
|
Verfasst: Di 25.02.14 18:19
Nein ,das funktioniert leider nicht.
Hier wird nur die gas erste Element angezeigt.
Ich brenötige aber alle
|
|
Christian S.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: Di 25.02.14 18:25
Ich möchte Dir dringend empfehlen, nicht nur stumpf zu übernehmen, was man Dir hier vorsetzt, sondern Dich auch damit zu beschäftigen! Dann hättest Du schon sehr früh in der Doku zu String.Format gesehen, wie man das mit mehr als einem Parameter macht ...
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
Th69
      

Beiträge: 4798
Erhaltene Danke: 1059
Win10
C#, C++ (VS 2017/19/22)
|
Verfasst: Di 25.02.14 19:18
C#-Quelltext 1:
| "Reihenfolge" + "wichtig" + "Die" + "ist" + "!" |
|
|
Ritzeratze 
      
Beiträge: 101
|
Verfasst: Di 25.02.14 19:46
Danke Christian,
das ist schon klar. Im dem Kontzext funktioniert das aber nicht was Ralf gezeigt hat.
Ich darf hier nur mit den Elementen der listbox agieren.
Ich habe es ja hinbekommen. allerdings wird das erste Bild immer als Nulltes Element angegeben, was ja auch richtig ist.
Meine Frage beruhte darauf, wie ich das nullte Element in der Ausgabe als erste angeben kann.
Gruss Ritze
|
|
Christian S.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: Di 25.02.14 20:03
So, mal was grundsätzliches:
Ritzeratze hat folgendes geschrieben : | dabei kommt schon ein wenig verwerrtbares raus allerdings nicht so in der Form wie erhofft.
[...]
Geht es auch anders ? |
Ritzeratze hat folgendes geschrieben : | Hier wird nur die gas erste Element angezeigt.
Ich brenötige aber alle |
Ritzeratze hat folgendes geschrieben : | Ich habe es ja hinbekommen. allerdings wird das erste Bild immer als Nulltes Element angegeben, was ja auch richtig ist.
Meine Frage beruhte darauf, wie ich das nullte Element in der Ausgabe als erste angeben kann. |
Wie sollen wir denn bitte aus den ersten beiden Zitaten raten, dass das im dritten Zitat gemeint ist? Wenn Du Deine Fragen nicht so formulierst, dass man sie überhaupt beantworten *kann*, dann hat irgendwann auch niemand mehr Lust dazu!
Nun zu Deiner Frage: Du kannst doch einfach statt dem Index, Index+1 in den String schreiben. Um es so zu machen, wie Ralph es Dir gezeigt hat:
C#-Quelltext 1:
| string.Format("{0} plus 1 ist {1}", eineZahl, eineZahl+1); |
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
Ritzeratze 
      
Beiträge: 101
|
Verfasst: Di 25.02.14 20:23
Danke, für Eure Antworten,
habe mir anders geholfen.
|
|