2009-06-25 9 views
1

Je me demande quelle est la manière la plus simple de conserver une valeur de chaîne, une fois que le formulaire et le programme sont arrêtés et que je veux les réutiliser plus tard lorsqu'ils ouvrent le programme et le forment plus tard. Dans mon cas, j'utilise un FolderBrowserDialog et enregistre le répertoire choisi par l'utilisateur. Je sais que je peux utiliser File.IO et autres, mais je me demande juste ce que tout le monde pense est le plus facile/le plus efficace/le moins de lignes de code.Valeur de chaîne persistante dans .net Windows Form

Merci!

Répondre

8

Application Settings sont gentils et faciles à utiliser.

  1. Faites un clic droit sur votre projet et sélectionnez « Propriétés »
  2. Aller à l'onglet « Paramètres » (Cliquez pour créer un lien pour créer un nouveau fichier si l'on n'a pas été créé)
  3. Donnez vos nouveaux paramètres un nom et une valeur par défaut (ie "de MySavedDirectory")
  4. Accédez à votre paramètre de code:

-

private string folder; 
private void Form1_Load(object sender, EventArgs e) 
{ 
    this.folder = Properties.Settings.Default.MySavedDirectory; 
} 

private void Form1_FormClosing(object sender, FormClosingEventArgs e) 
{ 
    Properties.Settings.Default.MySavedDirectory = this.folder; 
    Properties.Settings.Default.Save(); 
} 
+0

Exemple: http://msdn.microsoft.com/fr-fr/library/system.configuration.applicationsettingsbase.aspx Gardez à l'esprit les paramètres d'application et les paramètres utilisateur. – eschneider

+0

Oui, vous avez raison, les paramètres utilisateur sont plus appropriés – heavyd

+0

Merci! Cela a fonctionné parfaitement. Incroyable comment cela m'a conduit fous depuis quelques heures. –

0

La fonction Paramètres intégrée est intégrée. Vous pouvez configurer les paramètres via les pages de propriétés du projet, puis y accéder à partir du code via Propriétés.Paramètres. Mais j'ai eu quelques problèmes avec cette approche. D'une part, le fichier est enregistré dans un emplacement que vous ne pouvez pas choisir avec un nom que vous ne pouvez pas choisir. Et IIRC, cet emplacement/nom de fichier change de base sur l'emplacement à partir duquel vous exécutez l'application. De plus, vous ne contrôlez pas le format du fichier. En plus de ces lacunes, j'ai subi une sorte de corruption de fichiers qui provoque des exceptions lorsque les paramètres sont accessibles. Le correctif consiste à demander à l'utilisateur de localiser et de supprimer le fichier de paramètres.

Je n'utilise plus la fonction Paramètres. Je préfère les fichiers texte en série JSON que je peux sauvegarder où je veux. File.IO n'est certainement pas à éviter et la sérialisation JSON non plus. Je suis sûr que vous pouvez trouver une tonne d'excellents exemples de ces deux sur ce site.

Questions connexes