Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...
История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...
Топ:
Проблема типологии научных революций: Глобальные научные революции и типы научной рациональности...
Методика измерений сопротивления растеканию тока анодного заземления: Анодный заземлитель (анод) – проводник, погруженный в электролитическую среду (грунт, раствор электролита) и подключенный к положительному...
Техника безопасности при работе на пароконвектомате: К обслуживанию пароконвектомата допускаются лица, прошедшие технический минимум по эксплуатации оборудования...
Интересное:
Инженерная защита территорий, зданий и сооружений от опасных геологических процессов: Изучение оползневых явлений, оценка устойчивости склонов и проектирование противооползневых сооружений — актуальнейшие задачи, стоящие перед отечественными...
Что нужно делать при лейкемии: Прежде всего, необходимо выяснить, не страдаете ли вы каким-либо душевным недугом...
Берегоукрепление оползневых склонов: На прибрежных склонах основной причиной развития оползневых процессов является подмыв водами рек естественных склонов...
Дисциплины:
2017-05-23 | 254 |
5.00
из
|
Заказать работу |
|
|
Листинг 2.1. Наш основной код с тремя переменными.
double a, b, c;
a = Convert.ToDouble(textBox1.Text);
b = Convert.ToDouble(textBox2.Text);
c = a + b;
textBox3.Text = c.ToString();
Второй вариант – с двумя переменными:
double a, b;
a = Convert.ToDouble(textBox1.Text);
b = Convert.ToDouble(textBox2.Text);
textBox3.Text = (a + b).ToString();
Третий вариант – с одной переменной:
double a;
a = Convert.ToDouble(textBox1.Text);
textBox3.Text = (a +
Convert.ToDouble(textBox2.Text)).ToString();
Четвертый вариант – без использования переменных:
textBox3.Text = (Convert.ToDouble(textBox1.Text) +
Convert.ToDouble(textBox2.Text)).ToString();
Листинг 2.2. Метод для включения таймера и задания интервала времени.
private void InitializeTimer()
{
//Включаем таймер:
timer1.Enabled = true;
//Генерируем событие Tick через каждый интервал времени,
//равный значению свойства Interval:
timer1.Interval = 500;
}
Листинг 2.3. Код для создания анимации. Вариант 1.
//Объявляем булеву переменную myText и присваиваем ей false:
bool myText = false;
private void timer1_Tick(object sender, EventArgs e)
{
//Задаем чередование "Калькулятор(Calculator)" и
//"Калькулятор с анимацией (Calculator with animation)":
if (myText == false)
{
this.Text = "Калькулятор(Calculator)";
//Изменяем значение myText на противоположное:
myText = true;
}
else
{
this.Text = "Калькулятор с анимацией " +
"(Calculator with animation)";
//Изменяем значение myText на противоположное:
myText = false;
}
}
Листинг 2.4. Код для создания анимации. Вариант 2.
//Объявляем счетчик (counter) числа интервалов
//и задаем его начальное значение:
private int counter = 0;
//Объявляем и задаем число интервалов N_Interval,
//после которого один текст сменяется другим:
private int N_Interval = 3;
private void timer1_Tick(object sender, EventArgs e)
{
//Проверяем, значение счетчика counter
//равно или еще нет числу интервалов N_Interval,
//после которого один текст сменяется другим:
if (counter >= N_Interval)
{
//Если значение счетчика накопилось и равно
|
//N_Interval, то выводим другой текст:
this.Text = "Калькулятор(Calculator)";
//Значение счетчика counter снова обнуляем:
counter = 0;
}
else
{
//Если значение счетчика еще не накопилось
//и не равно N_Interval,
//то выводим первый текст:
this.Text = "Калькулятор с анимацией " +
"(Calculator with animation)";
//Значение счетчика увеличиваем на 1:
counter = counter + 1;
}
}
Листинг 2.5. Код для создания анимации. Вариант 3.
//Объявляем счетчик (counter) числа интервалов
//и задаем его начальное значение:
private int counter = 0;
//Объявляем и задаем число интервалов N_Interval,
//после которого один текст сменяется другим:
private int N_Interval = 3;
//Объявляем и обнуляем счетчик i_Interval_Stop,
//который считает число интервалов
//до остановки анимации:
private int i_Interval_Stop = 0;
//Объявляем и задаем число интервалов N_Interval_Stop,
//по достижении которого анимация прекращается:
private int N_Interval_Stop = 10;
private void timer1_Tick(object sender, EventArgs e)
{
//Значение счетчика i_Interval_Stop,
//который считает число интервалов
//до остановки анимации, увеличиваем на 1:
i_Interval_Stop = i_Interval_Stop + 1;
//Проверяем число интервалов i_Interval_Stop,
//по достижении которого анимация прекращается:
if (i_Interval_Stop >= N_Interval_Stop)
timer1.Enabled = false;
//Проверяем, значение счетчика counter
//равно или еще нет числу интервалов N_Interval,
//после которого один текст сменяется другим:
if (counter >= N_Interval)
{
//Если значение счетчика накопилось и равно
//N_Interval, то выводим другой текст:
this.Text = "Калькулятор (Calculator)";
//Значение счетчика counter снова обнуляем:
counter = 0;
}
else
{
//Если значение счетчика еще не накопилось
//и не равно N_Interval,
//то выводим первый текст:
this.Text = "Калькулятор с анимацией " +
"(Calculator with animation)";
//Значение счетчика увеличиваем на 1:
counter = counter + 1;
}
}
Листинг 2.6. Строка кода, останавливающая анимацию.
timer1.Enabled = false;
Недостаток записи только этой одной строки кода заключается в том, что после остановки анимации мы не сможем запустить ее вновь.
Чтобы возобновить анимацию, мы должны в обработчик события записать другую строку кода:
|
Листинг 2.7. Строка кода, возобновляющая анимацию.
timer1.Enabled = true;
Листинг 2.8. Код для приостановки и возобновления анимации.
//Объявляем булеву переменную OffOn и задаем ей false:
bool OffOn = false;
private void button2_Click(object sender, EventArgs e)
{
//Задаем чередование остановки и возобновления анимации
//после каждого щелчка кнопки button2:
if (OffOn == false)
{
//Останавливаем анимацию:
timer1.Enabled = false;
//Изменяем значение OffOn на противоположное:
OffOn = true;
}
else
{
//Возобновляем анимацию:
timer1.Enabled = true;
//Изменяем значение OffOn на противоположное:
OffOn = false;
}
}
Далее в шаблоне метода организовываем цикл по переменной i:
i = i + 1;
if (i <= N_Beep)
Microsoft.VisualBasic.Interaction.Beep();
|
|
Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...
История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...
Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...
Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!