//збереження куль (int i=0; i lt; listBox1.Items.Count; i ++)
{= listBox1.Items [i] as Shar; .Save (bw);
}
{
//створення текстового потоку даних (StreamWriter sw=new StreamWriter (new FileStream (this.saveFileDialog1.FileName, FileMode.Create)))
{
//збереження області рісованія.Save (sw);
//збереження кількості шаров.WriteLine (listBox1.Items.Count);
//збереження куль (int i=0; i lt; listBox1.Items.Count; i ++)
{= listBox1.Items [i] as Shar; .Save (sw);
}
{
//запуск таймера.Enabled=true;
. 6 Завантаження стану програми
При завантаженні параметрів програми використовуються стандартні діалогові вікна для вибору файлу.
private void button5_Click (object sender, EventArgs e)
{
//підготовка діалогового окна.FileName= raquo ;;
//виклик діалогового вікна і визначення результатів (openFileDialog1.ShowDialog () == DialogResult.OK)
{
//отановка займера.Enabled=false;
{
//стирання всіх куль (Shar sat in listBox1.Items) .Hide ();
//очистка списку шаров.Items.Clear ();
//очистка рядки состоянія_TS.Text= raquo ;; _ TS.Text= raquo ;; _ TS.Text= raquo ;;
//визначення розширення файлу (new FileInfo (openFileDialog1.FileName) .Extension == .dat )
{
//створення бінарного потоку даних (BinaryReader br=new BinaryReader (File.Open (openFileDialog1.FileName, FileMode.Open)))
{
//завантаження області рісованія.Load (br);
//читання кількості шаровc=br.ReadInt32 ();
//завантаження куль (int i=0; i lt; c; i ++)
{sat=new Shar (Space);
sat.Load (br) ;. Items.Add (sat);
}
{
//створення текстового потоку даних (StreamReader sr=new StreamReader (File.Open (openFileDialog1.FileName, FileMode.Open)))
{. Load (sr); c=Convert.ToInt32 (sr.ReadLine ());
for (int i=0; i lt; c; i ++)
{sat=new Shar (Space) ;. Load (sr) ;. Items.Add (sat);
//запуск таймера.Enabled=true;
//установка доступності действій_ED (false); _ ED (false); _ ED (true);
. 7 Робота з пунктом «Про програму»
При виборі пункту «Про програму» створюється і відображається одноімен?? е діалогове вікно (рисунок 2.2).
Малюнок 2.2 - Діалогове вікно «Про програму»
private void оПрограммеToolStripMenuItem_Click (object sender, EventArgs e)
{dialog=new Form3 () ;. Text= Про програму raquo ;; (dialog.ShowDialog () == DialogResult.OK) .Focus ();
}
. 8 Реалізація діалогового вікна роботи з кулею
Діалогове вікно роботи з кулею (малюнок 2.3) забезпечує завдання параметрів кулі: радіус кулі, швидкість руху, напрямок руху. Радіус кулі і швидкість кулі вводиться за допомогою компонента класу TextBox, напрямок руху кулі вибирається за допомогою компонента RadioButton.
Малюнок 2.3 - Діалогове вікно роботи з кулею
У перевірці встановлюється, чи були користувачем введені допустимі дані.
{
//визначення результату закриття форми (DialogResult == DialogResult.OK)
//використовується для обробки помилок введення даних
{
//перевірка введення радіуса кулі (Radius_TB.Text.Trim () == )
{_ TB.Focus (); new Exception ( Ви не ввели дані про радіус кулі );
}
//перевірка введення швидкості обертання (Speed_TB.Text.Trim () == )
{_ TB.Focus (); new Exception ( Ви не ввели дані про швидкість руху кулі );
}
//перевірка вибору напрямку руху
if (! radioButton1.Checked amp; amp;! radioButton2.Checked)
{. Focus (); new Exception ( Ви не ввели дані про напрямок руху );
}