Saltar al contenido

¿Cómo puedo guardar la configuración de la aplicación en una aplicación de Windows Forms?

Te sugerimos que revises esta respuesta en un ambiente controlado antes de pasarlo a producción, saludos.

Solución:

Si trabaja con Visual Studio, es bastante fácil obtener configuraciones persistentes. Haga clic con el botón derecho en el proyecto en el Explorador de soluciones y seleccione Propiedades. Seleccione la pestaña Configuración y haga clic en el hipervínculo si la configuración no existe.

Utilice la pestaña Configuración para crear la configuración de la aplicación. Visual Studio crea los archivos. Settings.settings y Settings.Designer.settings que contienen la clase singleton Settings heredado de ApplicationSettingsBase. Puede acceder a esta clase desde su código para leer/escribir la configuración de la aplicación:

Properties.Settings.Default["SomeProperty"] = "Some Value";
Properties.Settings.Default.Save(); // Saves settings in application configuration file

Esta técnica es aplicable tanto para la consola, Windows Forms y otros tipos de proyectos.

Tenga en cuenta que debe configurar el alcance propiedad de su configuración. Si selecciona Alcance de la aplicación, seleccione Configuración.Predeterminado. será de solo lectura.

Referencia: Cómo: Escribir la configuración del usuario en tiempo de ejecución con C# – Microsoft Docs

Si planea guardar en un archivo dentro del mismo directorio que su ejecutable, aquí hay una buena solución que usa el formato JSON:

using System;
using System.IO;
using System.Web.Script.Serialization;

namespace MiscConsole

    class Program
    
        static void Main(string[] args)
        
            MySettings settings = MySettings.Load();
            Console.WriteLine("Current value of 'myInteger': " + settings.myInteger);
            Console.WriteLine("Incrementing 'myInteger'...");
            settings.myInteger++;
            Console.WriteLine("Saving settings...");
            settings.Save();
            Console.WriteLine("Done.");
            Console.ReadKey();
        

        class MySettings : AppSettings
        
            public string myString = "Hello World";
            public int myInteger = 1;
        
    

    public class AppSettings where T : new()
    
        private const string DEFAULT_FILENAME = "settings.json";

        public void Save(string fileName = DEFAULT_FILENAME)
        
            File.WriteAllText(fileName, (new JavaScriptSerializer()).Serialize(this));
        

        public static void Save(T pSettings, string fileName = DEFAULT_FILENAME)
        
            File.WriteAllText(fileName, (new JavaScriptSerializer()).Serialize(pSettings));
        

        public static T Load(string fileName = DEFAULT_FILENAME)
        
            T t = new T();
            if(File.Exists(fileName))
                t = (new JavaScriptSerializer()).Deserialize(File.ReadAllText(fileName));
            return t;
        
    

El registro es un no-go. No está seguro de si el usuario que usa su aplicación tiene suficientes derechos para escribir en el registro.

Puedes usar el app.config archivo para guardar la configuración a nivel de la aplicación (que es la misma para cada usuario que usa su aplicación).

Almacenaría la configuración específica del usuario en un archivo XML, que se guardaría en Almacenamiento aislado o en el directorio SpecialFolder.ApplicationData.

Además, a partir de .NET 2.0, es posible almacenar valores en el app.config Archivo.

Recuerda que tienes la capacidad de parafrasear tu experiencia .

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *