Je travaille sur l'application WinForms en C #. Ce que je veux réaliser, c'est d'obtenir un fichier de l'utilisateur pour lequel j'utilise le code suivant: maintenant, tout fonctionne bien, mais je veux mettre 3 boutons radio dans la même boîte de dialogue Boîte, ce qui signifie que je voudrais maintenant obtenir deux choses à partir de cette boîte de dialogue p> Comment puis-je atteindre cela? p> p>
3 Réponses :
Oui, cela est possible, je l'ai fait le même genre de personnalisation avec Suivez les liens suivants: p>
http://www.codeproject.com/KB/dialog/OpenFileDialogEx.aspx p>
http://www.codeproject.com/KB/cs/getsavefilename.aspx p>
http://www.codeproject.com/KB/dialog/CustomizeFileDialog.aspx p>
blockQuote>
Aussi mes propres questions aussi vous aider à: p>
Modifier arrangement par défaut des boutons Enregistrer et Annuler dans SaveFileDialog p>
Comment arrêter overwriteprompt lors de la création SaveFileDialog en utilisant GetSaveFileName a> p>
blockQuote>
Vous devez utiliser le Pour ajouter des boutons radio etc., vous devez appeler les fenêtres des fonctions telles que Le 2ème lien a la direction exacte de la personnalisation ... p>
Demandez des précisions ... p> SaveFileDialog code> avec succès et il est assez intéressant. P>
WinAPI code> pour cela et vous devez écrire la méthode
ShowDialog code> dans votre propre appeler
GetOpenFileName code> fenêtres fonctionnent à l'intérieur , au lieu d'appeler
de .net OpenFileDialog code>.
GetOpenFileName code> va créer les fenêtres
OpenFileDialog code>. (Reportez-vous à http://msdn.microsoft .com / fr-fr / bibliothèque / ms646927% = 28V vs.85% 29.aspx ). Cette collaboration avec la rédaction de la procédure de HookProc et la capture des événements tels que
WM_INITDIALOG, CDN_INITDONE code> à l'intérieur vous aidera à faire ce que vous voulez. P>
CreateWindowEx code> et
SendMessage code> .... p>
Quelle pitié que tous les liens de projets de code soient morts :(
sur XP, vous devez utiliser la méthode de la procédure de crochet et l'API getopenfileName. Sur Vista et plus tard, cela donnera lieu à un dialogue de fichiers horrible avec utilitaire limité, par ex. Pas de recherche. Sur Vista, vous devez utiliser IfileDialog et pour personnaliser la boîte de dialogue dont vous avez besoin de l'interface IfileDialogCustomize. Étant donné que les nouveaux dialogues Vista sont exposés sous forme d'interfaces COM, elles sont assez faciles à consommer dans .NET. P>
Essayez ce code:
private void Browse_Click(object sender, EventArgs e) { var fdlg = new OpenFileDialog(); fdlg.Title = "Open a file"; fdlg.InitialDirectory = "c:/"; fdlg.Filter = "all files(*.*)|*.*|all files(*.)|*.*"; fdlg.FilterIndex = 2; fdlg.RestoreDirectory = true; if (fdlg.ShowDialog() == DialogResult.OK) { filetxt.Text = fdlg.FileName; } }
+1 pour la question et la réponse (s). Au moins maintenant, je me rends compte que je ne veux pas bouger beaucoup de fromage. Je trouverai une autre façon qui ne casse pas aux attentes des utilisateurs de ce qui est normal dans Windows.