2010-06-13 13 views
21

Duplicar posibles:
What is the best way to store user settings for a .NET application?Guardar configuración en una aplicación .NET WinForms

he encontrado un montón de ejemplos muy diferentes en cuanto a cómo se podría guardar la configuración de la aplicación (por usuario) de una aplicación Winforms.

Imagino que la forma correcta de hacerlo es muy simple en C# y espero que alguien me pueda aclarar?

+1

Posible duplicado de [¿Cuál es la mejor forma de almacenar la configuración del usuario para una aplicación .NET?] (Http://stackoverflow.com/questions/26369/what-is-the-best-way-to- store-user-settings-for-a-net-application) (Esta tiene que ser una de las preguntas más duplicadas en las etiquetas .NET ...) – Aaronaught

+0

Hay otra forma de guardar configuraciones en .Net es [Config4Net] (https://github.com/sontx/config4net) que es una alternativa a la función de configuración incorporada de .Net. También puede mostrar la interfaz de usuario de su configuración para editar en el tiempo de ejecución, ahorra tiempo especialmente al crear el formulario de configuración para nuestra aplicación. –

Respuesta

60

En algún momento, la respuesta se reduce a una cuestión de gusto. Yo diría que va a terminar con al menos estas opciones:

  • lo almacenan en el registro, donde se tiene la clave HKEY_CURRENT_USER. Todo lo que está debajo es específico del usuario. Esto generalmente se prefiere cuando desea almacenar un grupo de pequeños pares clave-valor. La principal ventaja de este sistema es que su configuración es fácil de encontrar y compartir a través de varias aplicaciones diferentes. Para seguir este camino, puede comenzar desde here.
  • usando la configuración .NET Application, proporciona la manera más fácil de acceder a su configuración en tiempo de ejecución. De nuevo, es mejor para usar con pares clave-valor de datos de pequeño tamaño. IMO, las principales ventajas de este método es su simplicidad y el hecho de que le permite usar algunas clases de .NET como valores (sin forzarlo a convertir todo en tipos más básicos). Para seguir este camino, puede comenzar desde here.
  • guárdelo en las carpetas de datos de usuario, que generalmente están ocultas debajo del directorio de perfil del usuario. Esto se prefiere cuando desea almacenar una gran cantidad de datos o cualquier cantidad de archivos. La principal ventaja de este método es que puede manipular sus datos como lo haría con cualquier archivo (que también puede ser una desventaja). Para seguir este camino, puede comenzar desde here.
+0

"utilizando la configuración de la aplicación .NET" el enlace está roto ahora – Brett

13

Puede usar la infraestructura de configuración proporcionada por .NET. En las páginas de propiedades de su proyecto, vaya a la página Configuración y defina su configuración. Puede definir el alcance de cada configuración como "Aplicación" o "Usuario". Se generará automáticamente una clase para acceder a estas configuraciones desde el código.

Para la configuración de acceso Foo y Bar, utilizar:

// Read settings 
textBoxFoo.Text = Properties.Settings.Default.Foo; 

// Write settings 
Properties.Settings.Default.Bar = checkBoxBar.IsChecked; 

// Save settings 
Properties.Settings.Default.Save(); 
+0

¿No hay forma de hacerlo directamente desde su código? es decir, ¿tiene que preconfigurarlos en las páginas de propiedades de los proyectos primero? – Jimbo

+0

sí, las configuraciones deben estar predefinidas en.archivo de configuración –

+1

La configuración del alcance de la aplicación no se guardará con esto, creo. –

1

me gustaría utilizar Application Settings. Es bastante sencillo y se encargará de algunos problemas para usted (como no tener acceso de escritura a la carpeta donde se puede instalar su aplicación sin acceso administrativo, lo cual excluye directamente el uso de app.config para su configuración).

Cuestiones relacionadas