Программа работает только со второго клика по кнопке - C#
Формулировка задачи:
Если нажму один раз на кнопку, то ничего не происходит. А вот если второй раз, то всё работает отлично. В чём проблема?
private void button2_Click(object sender, EventArgs e) { if (textBox1.Text.Equals("") && textBox2.Text.Equals("")) MessageBox.Show("Заполните поля 'Логин' и 'Пароль' ", "Ошибка"); else try { var sw = new System.IO.StreamWriter("D:\\Reg\\" + textBox1.Text + "\\login.ID"); sw.Write(textBox1.Text + "\n" + textBox2.Text); sw.Close(); this.Close(); } catch (System.IO.DirectoryNotFoundException) { System.IO.Directory.CreateDirectory("D:\\Reg\\" + textBox1.Text); var sw = new System.IO.StreamWriter("D:\\Reg\\" + textBox1.Text + "\\login.ID"); sw.Write(textBox1.Text + '\n' + textBox2.Text); sw.Close(); } }
Решение задачи: «Программа работает только со второго клика по кнопке»
textual
Листинг программы
private void button1_Click(object sender, EventArgs e) { if (string.IsNullOrWhiteSpace(textBox1.Text) || string.IsNullOrWhiteSpace(textBox2.Text)) { MessageBox.Show("Заполните поля 'Логин' и 'Пароль' ", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { var regDirectory = new DirectoryInfo(Directory.GetCurrentDirectory()); // Directory.GetCurrentDirectory() заменить на "D:\\Reg\\" if (!regDirectory.Exists) regDirectory.Create(); //Создаём папку var userDirectory = new DirectoryInfo(Path.Combine(regDirectory.FullName, textBox1.Text)); if (!userDirectory.Exists) userDirectory.Create(); // Создаём папку пользователя using (var writer = new StreamWriter(Path.Combine(userDirectory.FullName, "login.ID"))) { writer.Write(textBox1.Text + Environment.NewLine + textBox2.Text); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д