2012-10-04 19 views
6

Normalmente uso un archivo de texto como configuración. Pero esta vez me gustaría utilizar app.config para asociar un nombre de archivo (llave) con un nombre (valor) y crea los nombres disponibles en el cuadro combinadoC# app.config en winform

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <appSettings> 
    <add key="Scenario1.doc" value="Hybrid1"/> 
    <add key="Scenario2.doc" value="Hybrid2"/> 
    <add key="Scenario3.doc" value="Hybrid3"/> 
</appSettings> 
</configuration> 

es que esto funciona? cómo recuperar los datos?

Respuesta

11

Directamente desde el docs:

// Get the AppSettings section.   
// This function uses the AppSettings property 
// to read the appSettings configuration 
// section. 
public static void ReadAppSettings() 
{ 
    try 
    { 
    // Get the AppSettings section. 
    NameValueCollection appSettings = 
     ConfigurationManager.AppSettings; 

    // Get the AppSettings section elements. 
    Console.WriteLine(); 
    Console.WriteLine("Using AppSettings property."); 
    Console.WriteLine("Application settings:"); 

    if (appSettings.Count == 0) 
    { 
     Console.WriteLine("[ReadAppSettings: {0}]", 
     "AppSettings is empty Use GetSection command first."); 
    } 
    for (int i = 0; i < appSettings.Count; i++) 
    { 
     Console.WriteLine("#{0} Key: {1} Value: {2}", 
     i, appSettings.GetKey(i), appSettings[i]); 
    } 
    } 
    catch (ConfigurationErrorsException e) 
    { 
    Console.WriteLine("[ReadAppSettings: {0}]", 
     e.ToString()); 
    } 
} 

lo tanto, si desea acceder a la Scenario1.doc el establecimiento, se podría hacer esto:

var value = ConfigurationManager.AppSettings["Scenario1.doc"];

Editar:

Como Gabriel GM Dicho en los comentarios, deberá agregar una referencia al System.Configuration.

+0

Estoy usando .NET 4.0 –

+1

Lo que he publicado funciona en 2.0 ** + **. – Gromer

+9

Si no ve 'ConfigurationManager', intente agregar' system.configuration' a las referencias de su proyecto. –

0

configuración de la aplicación en app.config son para almacenar la configuración específica de la aplicación/entorno para no almacenar datos que se une a la interfaz de usuario.

Si no puede evitar el almacenamiento en la configuración debido a las solicitudes de negocios extraños que prefieren atenerse a un solo establecimiento de

<add key="FileDropDown" value="File1-Value|File2-Value" /> 

y escribir código C# para obtener este ajuste ConfigurationManager.AppSettings["FileDropDown"] y hacer algunas fracturas de cadena ('|') y ('-') para crear una colección de kvp y vincularla a la IU.