У меня есть Editable ComboBox. Пользователь вводит текст и нажимает кнопку «Сохранить». Их текст превращается в строку.Как создать новую настройку пользователя в app.config во время выполнения
Мне нужно это во время выполнения, чтобы создать новую настройку пользователя для app.config с именем их строки. (Я думаю, что эта часть работает сейчас).
Затем другой выбранный элемент ComboBox сохраняется в настройке. (Ссылка на объект не установлена).
Это создание пользовательского пресета, в котором будут сохранены каждое состояние управления, флажки, текстовые поля и т. Д. В программе.
// Control State to be Saved to Setting
Object comboBox2Item = ComboBox2.SelectedItem;
// User Custom Text
string customText = ComboBox1.Text;
// Create New User Setting
var propertyCustom = new SettingsProperty(customText);
propertyCustom.Name = customText;
propertyCustom.PropertyType = typeof(string);
Settings.Default.Properties.Add(propertyCustom);
// Add a Control State (string) to the Setting
Settings.Default[customText] = (string)comboBox2Item;
С этой частью я получаю сообщение об ошибке.
Settings.Default[customText] = (string)comboBox2Item;
Исключение: Метательное: «Ссылка на объект не указывает на экземпляр объекта.»
Я пробовал настройку ComboBox1.Text для объекта вместо строки с той же ошибкой. Текст и строка также не являются нулевыми.
Object customText = ComboBox1.Text;
Вот визуальное того, что я пытаюсь сделать
без проверки, вероятно, нужно сохранить конфигурации, а затем перезагрузить его. Имейте в виду, что многие настройки, которые вы используете с помощью кода, выполняются через класс, создаваемый визуальной студией при изменении конфигурации через конструктор. Существуют классы конфигурации XML, которые вы можете проанализировать и вручную изменить файл конфигурации, но XSD не проверяет ваши изменения до их сохранения. Соблюдайте осторожность, так как вы можете изменить конфигурацию в состояние, когда ваше приложение не запускается из-за неправильной маркировки конфигурации. – xtreampb
@xtreampb Я обновил свой код. Я думаю, что он создал параметр в app.config и выполняет этот код, но он дает ту же ошибку при попытке добавить строку в настройку. –
Я думаю, что ошибка возникает, потому что 'Settings.Default [customText]' не компилируется в класс настроек. В своем браузере решений разверните 'properties/settings.settings/settings.designer.cs' и вы увидите все элементы в экземпляре по умолчанию.Когда вы добавляете этот параметр, перед его вызовом вам может потребоваться сохранить, а затем перезагрузить файл настроек. – xtreampb