2009-08-16 9 views
1

Ich habe den folgenden Code, der bestimmt, ob es das erste Mal ist, dass der Benutzer die App öffnet. Wenn dies der Fall ist, wird ein Dateidialog angezeigt, und dann sollte die Einstellung auf "false" geändert werden, damit sie nicht nach dem ersten Mal erfolgt.Können Sie eine Einstellung in der Foo.settings-Datei zur Laufzeit ändern?

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

In der letzten Zeile, erhalte ich folgende Fehlermeldung:

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

Wie kann ich das tun?

+0

Aus Neugier, nicht einrücken Sie wirklich Ihr Code auf diese Weise oder ist das ein Tippfehler? Ich habe Code mit dem Methodenkopf nie weniger als eine Einrückung als die Klammern gesehen. –

+0

Typo des Postsystems in der Site: P –

+0

Danke. Ich fühle mich frei, diese in diesem Fall zu beheben. –

Antwort

3

Ich fand heraus, dass Sie in der Tat die .settings zur Laufzeit ändern können, aber nur im Bereich "Benutzer" einstellen.

Also, wenn Sie eine Einstellung zu machen sind versucht, das nur tut, wenn X das erste Mal die App öffnet, können Sie Folgendes tun:

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

Der Umfang Ihrer Einstellung ist wahrscheinlich auf Anwendung festgelegt. Stellen Sie es auf Benutzer, Sie können es ändern.