Ändern der Dateierweiterung, wenn der Benutzer die Option "Speichern unter" in "SaveFileDialog" ändert

8

Ich habe einen SaveFileDialog mit der Option, mit Typ .foo oder .bar zu speichern. Das erste Element in der Liste und standardmäßig ausgewählt ist .foo. Der Standarddateiname ist "unbenannt" und die Standard-Erweiterung ist ".foo". Wenn der SaveFileDialog angezeigt wird, wird "untitled" in das Textfeld Dateiname geschrieben. Ich kann es zu "untitled.foo" ändern, aber es ändert immer noch nicht das Verhalten in Bezug auf mein Problem:

Wenn der Benutzer zu .bar wechselt, wie kann ich den Dateinamen in untitled.bar ändern? Es gibt nur zwei Ereignisse, von denen keines das eine ist, das ich will, und es scheint sich nicht zu ändern.

    
Ed Marty 08.11.2010, 22:33
quelle

4 Antworten

5

Ed,
Ich habe es gerade getestet und es funktioniert gut.
Ich habe das getan:

%Vor%

Und es ändert automatisch den vorgeschlagenen Speichernamen abhängig von dem Filter, den ich wähle.
Ich habe das .NET 2.0 Framework verwendet.
Aber ich bin auf Windows 7, was ich wichtig finde, da Sie den Dateispeicherdialog des Systems sehen und die Art und Weise, wie er implementiert wird, ist hier von Bedeutung.

    
BeemerGuy 08.11.2010, 22:45
quelle
1

Wenn Sie DefaultExt und AddExtension hinzufügen, erhalten Sie das von Ihnen gewünschte Verhalten. Similar zur Frage / Antwort hier zur Verfügung gestellt: Ссылка

%Vor%     
MEF2A 09.11.2012 20:03
quelle
0

Wenn Sie die Datei tatsächlich speichern, können Sie den Dateinamen aus dem Dialogfeld abrufen und von dort aus die erforderliche Zeichenfolge bearbeiten. Der Dateiname ist ein Mitglied der Instanz von SaveFileDialog

    
CodeMonkey1313 08.11.2010 22:41
quelle
0

Sie können Folgendes tun:     savefiledialog1.AddExtension = Wahr

    
Ahmed Suror 17.06.2013 15:40
quelle

Tags und Links