DialogResult [Résolu]

MadFox972 6 Messages postés vendredi 27 mars 2009Date d'inscription 18 février 2011 Dernière intervention - 20 févr. 2010 à 04:20 - Dernière réponse : Lutinore 3248 Messages postés lundi 25 avril 2005Date d'inscription 27 octobre 2012 Dernière intervention
- 21 févr. 2010 à 07:44
Bonjour,

Après avoir cherché un peu partout ( sauf si j'ai mal vu ), je suis désespéré ....

Voici mon code, il se trouve dans un bouton :

//Effacer la listeBox
fileCharger.Items.Clear();

folderBrowser.Description = "Sélectionner le Répertoire :";
folderBrowser.ShowNewFolderButton = false;

// Ouvrir la boite de Dialogue pour sélectionner un dossier
DialogResult result = folderBrowser.ShowDialog();

/##########################################################
ICI
/##########################################################

// Recupérer le PATH du répertoire
Repertoire = folderBrowser.SelectedPath;

// Rechercher les fichiers dans le répertoire
string[] nom = Directory.GetFiles(Repertoire);

foreach (string nomfile in nom)
{
int i = 0;
// Recupérer le nom du fichier
motRechercher = nomfile.Split(Recherche);
foreach (string newNomFile in motRechercher)
{
if (string.IsNullOrEmpty(newNomFile))
{
fileCharger.Items.Add("No Files");
continue;
}
if (i == 2)
{
fileCharger.Items.Add(newNomFile);
}
i++;
}
}

J'aimerais effectuer un test là ou il y a le 'ICI' du style :
if(result == DialogResult.OK)
{
// effectuer l'action
}

Mais rien n'a faire message d'erreur :

Error 1 'System.Nullable' does not contain a definition for 'OK' and no extension method 'OK' accepting a first argument of type 'System.Nullable' could be found (are you missing a using directive or an assembly reference?)
52 40 WpfApplication1

Comment dois-je l'utiliser ? SVP

Cordialement
Afficher la suite 

4 réponses

Répondre au sujet
Lutinore 3248 Messages postés lundi 25 avril 2005Date d'inscription 27 octobre 2012 Dernière intervention - 20 févr. 2010 à 06:20
+3
Utile
Salut, tu ne dis pas quel composant FolderBrowser wpf tu utilises, mais apparemment il ne renvoie pas une énumération de type DialogResult mais un nullable de type bool.

if ( DialogResult.Value == true )
{

}
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Lutinore
MadFox972 6 Messages postés vendredi 27 mars 2009Date d'inscription 18 février 2011 Dernière intervention - 20 févr. 2010 à 06:32
0
Utile
Merci pour ta réponse :

C'est un FolderBrowserDialog() que j'utilise.

mais avec la réponse que tu m'as apporté, ça fonctionne très bien

Un peu tête en l'air, je l'avais testé mais avec des "" à true c'est à dire "true"

Merçi bcp Lutinore
Commenter la réponse de MadFox972
MadFox972 6 Messages postés vendredi 27 mars 2009Date d'inscription 18 février 2011 Dernière intervention - 21 févr. 2010 à 02:38
0
Utile
Bonjour,

Alors une autre petite question... Le teste du bouton OK fonctionne étant donné que j'utilise que ce test lorsque j'utilise le bouton Cancel, il s'arrête au test : if ( DialogResult.Value == true ) avec l'exception : Un objet qui autorise la valeur Null doit posséder une valeur.

D'où vient cette erreur ?

Cordialement
Commenter la réponse de MadFox972
Lutinore 3248 Messages postés lundi 25 avril 2005Date d'inscription 27 octobre 2012 Dernière intervention - 21 févr. 2010 à 07:44
0
Utile
Le principe d'un type nullable, c'est d'autoriser la valeur "null" pour un type qui ne peut nomalement pas être "null" comme les int, bool etc .. Il faut donc toujours tester si l'objet possède une valeur avant d'acceder à sa propriété Value.

if ( DialogResult.HasValue && DialogResult.Value )
{
// TRUE
}
Commenter la réponse de Lutinore

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.