[VB.NET] Boite de dialogue enregistrer

Signaler
Messages postés
9
Date d'inscription
mercredi 25 février 2004
Statut
Membre
Dernière intervention
7 avril 2004
-
Messages postés
133
Date d'inscription
dimanche 20 mai 2007
Statut
Membre
Dernière intervention
13 juillet 2012
-
Bonjour,
J'aimerai utiliser la boite de dialogue "Enregistrer" de VB.NET. Mais j'aimerai bloquer l'accès au disque C:\ (je ne veux pas que les utilisateurs puissent enregistrer sur C:\). Les disques autorisés sont A:\ et le lecteur CD.

Avez-vous une idée?

2 réponses

Messages postés
2368
Date d'inscription
mardi 17 avril 2001
Statut
Modérateur
Dernière intervention
26 décembre 2007
20
Ce n'est pas possible a ma connaissance , une des possibilité qui s'offre à toi et de créer ta propre classe derivant / heritant de FolderNameEditor

Je n'ai pas d'exemple en VB sous la main mais en C# un exemple de derivation :

using System.Windows.Forms.Design;

public class OpenDirectoryDialog : FolderNameEditor
{
private FolderBrowser folderDialog;
public OpenDirectoryDialog()
{
folderDialog = new FolderBrowser();

// if no changes to defaults, skip using this function
this.Initialize( );
}

public string GetFolder()
{
System.Windows.Forms.DialogResult rs = folderDialog.ShowDialog();
return folderDialog.DirectoryPath;
}

protected void Initialize( )
{
base.InitializeDialog( folderDialog );
// Examples of making initialization changes.
//folderDialog.StartLocation = FolderBrowserFolder.MyDocuments;
//folderDialog.Style = FolderNameEditor.FolderBrowserStyles.ShowTextBox;
}
}

::|The S@ib|::
MVP C#.NET
Messages postés
133
Date d'inscription
dimanche 20 mai 2007
Statut
Membre
Dernière intervention
13 juillet 2012
1
Salut tout le monde !






Bon, je cherchais tout autre chose, mais le destin m'a guidé jusqu'a ce vieux post...
Il n'est plus d'actualité, mais si certains d'entres vous se demandent encore comment faire,
voici une solution. J'ai placé le tout dans l'évènement Click d'un bouton.

    Private Sub MonBouton_Click _
   (ByVal sender As System.Object,ByVal e As System.EventArgs) _
    Handles



MonBouton





.
Click

        If (sFDlg.ShowDialog = Windows.Forms.DialogResult.OK)Then

           If 




(sFDlg.



FileName.StartsWith




(





"C:"





)





)





Then

                MessageBox.Show




(





"Veuillez choisir un autre emplacement"
,
"Disque interdit !"





)






                MonBouton_Click




(




Nothing, Nothing




)






:

Exit Sub

            End If

            MessageBox.Show





(






"Chemin accepté : "

&





sFDlg.



FileName





,

"Disque autorisé !"






)







            My.Computer.FileSystem.WriteAllText





(





sFDlg.



FileName





,






Nothing

,

False






)







        End If

    End Sub




Vala, il me semble que c'est concis... Et les conditions largement modifiables !
(Du genre changer mon If en If Not...)

Il est temps de retourner à ma quête première... ++

________________________________________________________
On passe presque toute sa vie déguisé en adulte.