2009-08-16 5 views
1

J'ai le code suivant qui détermine si c'est la première fois que l'utilisateur ouvre l'application. Si c'est le cas, une boîte de dialogue de fichier s'affiche, puis elle est supposée changer le paramètre à false, donc cela ne se produit pas après cette fois.Pouvez-vous modifier un paramètre dans le fichier Foo.settings au moment de l'exécution?

public void VerifyIfFirstTimeRun() 
    { 
     if (Properties.Settings.Default.FirstTimeUse == true) 
     { 
      LocateWoWFolder(); 
      Properties.Settings.Default.FirstTimeUse = false; 
     }       
    } 

Dans la dernière ligne, je reçois l'erreur suivante:

Error 1 Property or indexer 'CDLauncher.Properties.Settings.FirstTimeUse' cannot be assigned to -- it is read only

Comment puis-je faire cela?

+0

Par curiosité, vous indentez vraiment votre code de cette façon , ou est-ce une faute de frappe? Je n'ai jamais vu de code avec l'en-tête de la méthode à moins d'un retrait que les parenthèses. –

+0

Typo du système de publication dans le site: P –

+0

Merci. Je me sentirai libre de les réparer, dans ce cas. –

Répondre

3

J'ai découvert que vous pouvez en effet modifier les paramètres .settings au moment de l'exécution, mais uniquement dans la portée "User".

Donc, si vous essayez de faire un réglage qui ne X que lorsque la première fois l'application ouverte, vous pouvez effectuer les opérations suivantes:

public void VerifyIfFirstTimeRun() 
{ 
    if (Properties.Settings.Default.FirstTimeUse == true) 
    { 
     //Do something here. 

     //Change first time usage Bool to false 
     Properties.Settings.Default.FirstTimeUse = false; 

     //Save your changes, and you're done! 
     Properties.Settings.Default.Save(); 
    }       
} 
3

La portée de votre paramètre est probablement définie sur Application. Réglez-le sur Utilisateur, vous pourrez le modifier.

Questions connexes