в програми використовуються стандартні діалогові вікна для вибору файлу.
private void button4_Click (object sender, EventArgs e)
{
/ / підготовка діалогового вікна. FileName=«»;
/ / виклик діалогового вікна і визначення результатів його роботи
if (saveFileDialog1. ShowDialog () == DialogResult. OK)
{
/ / зупинка таймера, для того щоб під час запису не відбулося переміщення куль. Enabled=false;
/ / блок try. finally для гарантованого запуску таймера після збереження
try
{
/ / визначення розширення файлу (new FileInfo (saveFileDialog1. FileName). Extension == «. dat»)
{
/ / створення бінарного потоку даних (BinaryWriter bw=new BinaryWriter (new FileStream (this. saveFileDialog1. FileName, FileMode. Create)))
{
/ / збереження стану області малювання. Save (bw);
/ / збереження кількості куль. Write (listBox1. Items. Count);
/ / збереження куль (int i=0; i
{= listBox1. Items [i] as Shar;
satellite. Save (bw);
}
}
}
{
/ / створення текстового потоку даних
using (StreamWriter sw=new StreamWriter (new FileStream (this. saveFileDialog1. FileName, FileMode. Create)))
{
/ / збереження області малювання. Save (sw);
/ / збереження кількості куль
sw. WriteLine (listBox1. Items. Count);
/ / збереження куль (int i=0; i
{= listBox1. Items [i] as Shar;. Save (sw);
}
}
}
}
{
/ / запуск таймера
timer1. Enabled=true;
}
}
}
2.6 Завантаження стану програми
При завантаженні параметрів програми використовуються стандартні діалогові вікна для вибору файлу.
private void button5_Click (object sender, EventArgs e)
{
/ / підготовка діалогового вікна. FileName=«»;
/ / виклик діалогового вікна і визначення результатів
if (openFileDialog1. ShowDialog () == DialogResult. OK)
{
/ / отановка займера. Enabled=false;
{
/ / стирання всіх куль (Shar sat in listBox1. Items). Hide ();
/ / очищення списку куль. Items. Clear ();
/ / очищення рядки состоянія_TS. Text=«»;
speedball_TS. Text=«»; _TS. Text=«»;
/ / визначення розширення файлу (ne...