C # app.config в winform

Обычно я использую текстовый файл в качестве конфига. Но на этот раз я хотел бы использовать app.config для связывания имени файла (ключа) с именем (значением) и сделать имена доступными в поле со списком

        

будет ли это работать? как получить данные?

Прямо из документов :

 // 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()); } } 

Итак, если вы хотите получить доступ к настройке Scenario1.doc , вы бы сделали следующее:

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

Редактировать:

Как сказал Габриэль ГМ в комментариях, вам нужно будет добавить ссылку на System.Configuration .

app app в app.config должны хранить настройки приложения / среды, чтобы не хранить данные, которые привязываются к пользовательскому интерфейсу.

Если вы не избежите хранения в config из-за странных бизнес-запросов, я предпочел бы придерживаться одной настройки

  

и напишите код C #, чтобы получить этот параметр ConfigurationManager.AppSettings["FileDropDown"] и выполните некоторые ConfigurationManager.AppSettings["FileDropDown"] строк (‘|’) и (‘-‘), чтобы создать коллекцию kvp и привязать ее к пользовательскому интерфейсу.