Anpassen von OpenFileDialog

8

Ich arbeite an Winforms-Anwendung in C #. Was ich erreichen möchte ist, eine Datei von einem Benutzer zu bekommen, für den ich den folgenden Code verwende:

%Vor%

Jetzt funktioniert alles gut, aber ich möchte 3 Optionsfelder in das gleiche Dialogfeld einfügen, was bedeutet, dass ich jetzt zwei Dinge aus diesem Dialogfeld bekommen würde

%Vor%

Wie erreiche ich das?

    
Jame 23.05.2011, 04:59
quelle

3 Antworten

8

Ja, das ist möglich, ich habe die gleiche Art der Anpassung mit SaveFileDialog erfolgreich durchgeführt und es ist ziemlich interessant.

Folgen Sie den folgenden Links:

  

Ссылка

     

Ссылка

     

Ссылка

Auch meine eigenen Fragen werden dir helfen:

  

Ändern Sie die Standardanordnung der Schaltflächen Speichern und Abbrechen in SaveFileDialog

     

So stoppen Sie den Überschreibprompt beim Erstellen von SaveFileDialog mit GetSaveFileName

Sie müssen dazu WinAPI verwenden und Sie müssen die ShowDialog -Methode in Ihr eigenes schreiben, indem Sie die GetOpenFileName windows-Funktion aufrufen, anstatt .net's OpenFileDialog aufzurufen. Der GetOpenFileName erstellt die Fenster OpenFileDialog . (Siehe Ссылка ). Dies zusammen mit dem Schreiben der HookProc-Prozedur und dem Erfassen von Ereignissen wie WM_INITDIALOG, CDN_INITDONE darin hilft Ihnen, das zu tun, was Sie wollen.

Um Radiobuttons etc. hinzuzufügen, müssen Sie die Windows-Funktionen wie CreateWindowEx und SendMessage .... aufrufen.

Der 2. Link hat die genaue Richtung zur Anpassung ...

Fragen Sie nach Erklärungen ...

    
Dulini Atapattu 23.05.2017, 11:45
quelle
3

Unter XP müssen Sie die Methode hook procedure und die API GetOpenFileName verwenden. Unter Vista und später wird dies zu einem schrecklich aussehenden Dateidialog mit begrenzter Nützlichkeit führen, z. keine Suche Unter Vista sollten Sie IFileDialog verwenden und um das Dialogfeld anzupassen, benötigen Sie die IFileDialogCustomize-Schnittstelle. Da die neuen Vista-Dialoge als COM-Schnittstellen verfügbar sind, sind sie in .net sehr einfach zu verwenden.

    
David Heffernan 23.05.2011 06:52
quelle
-4

Probieren Sie diesen Code:

%Vor%     
Brajaraj Jena 29.03.2013 06:53
quelle