Сохраните список приложений Windows Form Combobox и Textbox для отдельных пользователей и загрузите их кнопкой - PullRequest
0 голосов
/ 03 мая 2018

У меня есть приложение Windows Form, написанное на c # Он имеет текстовое поле, поле со списком и кнопку. Эта кнопка является кнопкой сохранения и предназначена для сохранения значений, введенных пользователем в текстовое поле, и установки поля со списком при нажатии, и должна иметь возможность сохранять несколько различных вариантов выбора, например, один пользователь добавляет «test1» в текстовое поле и выбрав опцию 0 index в выпадающем списке, и нажмите кнопку «Сохранить», чтобы сохранить эти опции, а затем другой пользователь может добавить «test2» в текстовое поле и выбрать опцию «2 index» в выпадающем списке и щелкнуть кнопку «Save», чтобы сохранить эти опции, в результате чего в двух отдельных сохраненных выборках, которые можно загрузить обратно в приложение, в результате чего в форме будут выбраны данные сохраненного файла.

Проблема в том, что я понятия не имею, как реализовать такую ​​функцию или с чего начать. Я рассмотрел сохранение параметров пользователя в виде файла XML, но, очевидно, этого нельзя сделать с помощью данных в выпадающем списке.

Вот схема того, что я пытаюсь сделать.

enter image description here

Любые предложения о том, как это можно реализовать в приложении Windows Form в Visual Studio в c # или с чего начать?

1 Ответ

0 голосов
/ 12 мая 2018

Эта описанная функция может быть достигнута с использованием текстовых файлов. Я использовал их, так как они довольно просты.

Для сохранения:

private void SaveButton_Click(object sender, EventArgs e)
{
   SaveFileDialog sfd = new SaveFileDialog();
   sfd.Filter = "Text files (*.txt)|*.txt";
   sfd.ShowDialog();
   string name = sfd.Title; 
   string filePath = sfd.FileName; 

   StreamWriter sw = new StreamWriter(filePath);
   // Write the text you want to the file.
   sw.WriteLine(MyTextBox.Text);
   sw.WriteLine(MyComboBox.SelectedIndex); 
   // You could do MyComboBox.SelectedItem if you evaluate what index the item 
   // belongs at when reading back the file for the load function.

   sw.Close();

}

Для загрузки:

private void LoadButton_Click(object sender, EventArgs e)
{
   OpenFileDialog ofd = new OpenFileDialog();
   ofd.Filter = "Text files (*.txt)|*.txt";
   ofd.ShowDialog();

   // If the user doesn't select a file, cancels, or exists the dialogue box 
   nothing is done.
   if (ofd.FileName == null || ofd.FileName.Equals("")) { }

   // Else if the user has selected a file, the file's text is converted when necessary, and used to change the value of the applications controls.
   else
   {
       // Get the contense of the txt file as a string array.
       string[] list = File.ReadAllLines(ofd.FileName);

       // Reads the text stored in the txt file and puts it as the value for the boxes.
       MyTextBox.Text = list[0];
       MyComboBox.SelectedIndex = list[1];

   }

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...