private void NewQSetButton_Click(object sender, EventArgs e) //Создать { Global.SaveCurrentChanges(Global.QSetName); //сохраним изменения string Old = Global.QSetName; //чтобы узнать было ли что-то создано CreateNewXml New = new CreateNewXml(); this.Hide(); New.ShowDialog(); New.Close(); this.Show(); if (Old != Global.QSetName) { DeletQSetButton.Enabled = true; DeletQSetButton.BackColor = Color.FromArgb(255, 255, 192); RedactirovatButton.Enabled = true; //тепреь можно редактить раз мы создали RedactirovatButton.BackColor = Color.FromArgb(255, 255, 192); i = 0; textBox1.Text = Global.QSetName; //обновим Global.ReadXMLDocument(Global.QSetName); //откроем вновь созданный файл PrevQButton.Enabled = false; // ну он 100 пудов пустой PrevQButton.BackColor = Color.Gray; NextQButton.Enabled = false; NextQButton.BackColor = Color.Gray; QuestionShow.Text = null; NQ.Text = "Вопроcов Нет"; } }
private void Main_FormClosing(object sender, FormClosingEventArgs e) { Global.SaveCurrentChanges(Global.QSetName); //сохраним изменения }
private void Form1_FormClosing(object sender, FormClosingEventArgs e) { Global.SaveCurrentChanges(Global.QSetName); }
private void OpenQSetButton_Click(object sender, EventArgs e) //Открыть { Global.SaveCurrentChanges(Global.QSetName); //сохраним изменения openFileDialog1.InitialDirectory = Directory.GetCurrentDirectory(); //начать диалог из директории программы if (openFileDialog1.ShowDialog() != DialogResult.OK) { return; //открыть диалог открытия файла, еси файл не был открыт выйти из процедуры } FileStream fu = new FileStream(openFileDialog1.FileName, FileMode.Open); //проверим нужный ли это нам файл XmlDocument xu = new XmlDocument(); bool bugfix = false; try { xu.Load(fu); } catch { MessageBox.Show("Этот файл не подходит или повреждён"); fu.Close(); bugfix = true; } if (bugfix) { return; } if (xu.GetElementsByTagName("QuestionSet").Count == 0) { MessageBox.Show("Этот файл не подходит или повреждён"); fu.Close(); xu.Save(openFileDialog1.FileName); return; } fu.Close(); xu.Save(openFileDialog1.FileName); bugfix = false; try { if (openFileDialog1.FileName.Remove(openFileDialog1.FileName.Length - openFileDialog1.SafeFileName.Length - 1) != Directory.GetCurrentDirectory()) //FileName - полный путь, ShowFileName - только имя с раширением ( еси файл не из нашей директории ) { if (File.Exists(openFileDialog1.SafeFileName)) // а в нашей директории файл с таким именем существует { File.Move(openFileDialog1.FileName, openFileDialog1.SafeFileName.Remove(openFileDialog1.SafeFileName.Length - 4) + "(2).xml"); //добавим к не нашему файлу (2) и переместим к нам в директорию Global.QSetName = openFileDialog1.SafeFileName.Remove(openFileDialog1.SafeFileName.Length - 4) + "(2)"; } else { File.Move(openFileDialog1.FileName, openFileDialog1.SafeFileName); //или просто переместим Global.QSetName = openFileDialog1.SafeFileName.Remove(openFileDialog1.SafeFileName.Length - 4); } } else { Global.QSetName = openFileDialog1.SafeFileName.Remove(openFileDialog1.SafeFileName.Length - 4); //еси наш - просто его имя запоминаем } textBox1.Text = Global.QSetName; //обновим } catch //а я хз может чё нить случится { MessageBox.Show("Этот файл не подходит или повреждён"); bugfix = true; } if (bugfix) { return; } Global.ReadXMLDocument(Global.QSetName); //прочтём документ который терь 100% в нашей директории i = 0; //обновим если это уже не 1 раз открытия файла DeletQSetButton.Enabled = true; DeletQSetButton.BackColor = Color.FromArgb(255, 255, 192); RedactirovatButton.Enabled = true; //терь можно редактить RedactirovatButton.BackColor = Color.FromArgb(255, 255, 192); if (Global.QSet.Count > 0) //еси есть чё показывать { QuestionShow.Text = Global.QSet[0].Text; //из нашего крутого списка в текстовую форму NQ.Text = "Вопрос №" + Global.QSet[0].id; //в рамочку наверху showRating.Text = "Выучен на: " + Global.GetRatio(Global.QSet[0].ratio); PrevQButton.Enabled = true; PrevQButton.BackColor = Color.FromArgb(255, 255, 192); NextQButton.Enabled = true; NextQButton.BackColor = Color.FromArgb(255, 255, 192); } else { PrevQButton.Enabled = false; PrevQButton.BackColor = Color.Gray; NextQButton.Enabled = false; NextQButton.BackColor = Color.Gray; QuestionShow.Text = null; NQ.Text = "Вопроcов Нет"; } }