1 ...8 9 10 12 13 14 ...18 bool OffOn = false;
private void button2_Click (object sender, EventArgs e)
{
//We set alternation of a stop and resuming of animation
//after each click of the button2 button:
if (OffOn == false)
{
//We stop the animation:
timer1.Enabled = false;
//We change the OffOn value to opposite:
OffOn = true; //or so: OffOn =! OffOn;
}
else
{
//We resume the animation:
timer1.Enabled = true;
//We change OffOn value to opposite:
OffOn = false; //or so: OffOn =! OffOn;
}
}
Для проверки этого кода по первому варианту (листинг 2.3) запускаем программу, например, так: Ctrl+F5. В ответ Visual C# выполняет программу и на рабочий стол выводит форму в режиме выполнения. На этой форме с заданной нами частотой в 500 миллисекунд (или 0,5 секунды) заголовок «Калькулятор (Calculator) ” сменяется на «Калькулятор с анимацией (Calculator with animation) ” (рис. 2.11), и таким образом создаётся эффект анимации.
Рис. 2.11.Анимация прекращается и возобновляется после щелчка кнопки Stop/Start Animation.
Анимация прекращается и возобновляется поочередно после каждого щелчка кнопки (рис. 2.11). Так как в свойстве Text мы записали &Stop/Start Animation с символом &, то первая буква S подчёркнута и, следовательно, эту кнопку можно нажать не только мышью, но и комбинацией клавиш Alt+s.
Если мы желаем, чтобы анимация прекращалась и возобновлялась после каждого щелчка по данной форме, то в панели Properties для этой формы на вкладке Events дважды щёлкаем по имени события Click и в появившийся шаблон метода записываем код, подобный коду на листинге 2.8.
Аналогично можно разработать другие варианты анимации, а также варианты приостановки и возобновления анимации и мультипликации, как показано в наших предыдущих книгах, например, [9] или с сайта ZharkovPress.com.
2.9. Общая методика использования методов из других платформ на основе динамически подключаемых библиотек
Часто при решении задачи требуется использовать метод (процедуру или функцию), которой в данной программе на данном языке нет, но мы точно знаем, что она имеется в другой программе (комплексе, пакете, платформе) на том же или другом языке и там выполняет то, что нам нужно. Для использования в нашем приложении метода (функции) из любого другого языка, например, из языка Visual Basic, необходимо создать ссылку на этот язык.
Для создания ссылки, например, на Visual Basic выполняем такие шаги.
1. В меню Project выбираем Add Reference (или в панели Solution Explorer делаем правый щелчок на имени проекта и в появившемся контекстном меню выбираем Add Reference).
Мы увидим панель Add Reference (рис. 2.12).
2. В панели Add Reference на вкладке (.NET) выделяем динамически подключаемую библиотеку (dynamic link library), например, Microsoft.VisualBasic и щёлкаем кнопку OK.
Эта ссылка добавляется в список ссылок в панели Solution Explorer (рис. 2.13).
Таким образом мы создали ссылку на Visual Basic и теперь можем подключать к нашему приложению методы (процедуры и функции) из этого языка, как показано в следующем параграфе.
Рис. 2.12.Выбираем Microsoft.VisualBasic. Рис. 2.13.Панель Solution Explorer.
2.10. Методика использования методов из других платформ на примере подачи звукового сигнала
Целесообразно, чтобы в работающем приложении эффекты анимации сопровождались звуковыми эффектами, и самым простым из них является звуковой сигнал.
В одной из наших предыдущих книг мы уже писали, что подача звукового сигнала в Visual Basic основана на том, что в тело функции для обработки какого-либо события в любом приложении следует записать стандартную функцию Beep (). Если в комплексе Visual Basic мы запишем Beep () в функцию для обработки события Tick таймера, то звуковой сигнал будет периодически создаваться согласно генерируемому событию Tick с заданным нами интервалом времени.
Если мы запишем Beep () в функцию для обработки, например, события Tick таймера в комплексе Visual C#, то выйдет сообщение об ошибке, что в Visual C# такой функции нет.
Согласно приведённой в предыдущем параграфе методике использования в нашем приложении метода (функции) из любого другого комплекса, создаём ссылку на Visual Basic. Когда в шаблон функции для обработки, например, события Tick таймера в Visual C# мы запишем (после пространства имён Microsoft) оператор в виде точки (.), то увидим подсказку из списка пространств имен, которые мы можем применить в данном приложении (рис. 2.14).
Читать дальше