Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Компьютерная графика, мультимедиа и игры на Vis...doc
Скачиваний:
4
Добавлен:
01.03.2025
Размер:
1.92 Mб
Скачать

11.3. Анимация в виде циклического изменения цвета формы

На данной форме, например, с целью выделить ее из многих последующих панелей, разработаем циклическое изменение цвета формы.

Напомним, что цвет формы устанавливается в панели Properties (с заголовком Form5) в свойстве BackColor и по умолчанию имеет значение Control.

Алгоритм данной анимации формулируем так:

после появления формы ее цвет начинает циклически изменяться, например, с красного на зеленый и обратно, с заданным нами выше в панели Properties интервалом времени для компонента Timer1.

Для программной реализации этого алгоритма дважды щелкаем значок timer1 (ниже формы в режиме проектирования). Появляется файл с шаблоном, который после записи нашего кода принимает следующий следующий вид.

//Объявляем булеву переменную myColor со значением false:

bool myColor = false;

private void timer1_Tick(object sender, EventArgs e)

{

//Вводим анимацию:

if (myColor == false)

{

//Задаем чередование красного (Red)

//и зеленого (Green) цветов формы:

this.BackColor = System.Drawing.Color.Red;

//Изменяем значение myColor на противоположное:

myColor = true;

}

else

{

//Задаем зеленый цвет (Green):

this.BackColor = System.Drawing.Color.Green;

//Изменяем значение myColor на противоположное:

myColor = false;

}

}

В этом коде мы можем устанавливать чередование двух других цветов из списка, который появляется, когда при написании кода мы ставим точку после имени структуры Color.

Задавая в панели Properties с заголовком timer1 различные значения свойству Interval (а выше мы задали 1000 миллисекунд или 1 секунду), можно изменять частоту мигания цветов формы, чтобы это мигание было приятным для наших глаз. Методика приостановки и возобновления анимации дана выше.

11.4. Выполнение расчетов

Проверяем созданный нами второй калькулятор. Для этого строим программу и запускаем ее на выполнение обычным образом: Build, Build Solution; Debug, Start Without Debugging.

Глава 12. Вычисление процентов

Теперь в шаблон файла Form7.cs необходимо написать нашу часть кода для выполнения расчетов на калькуляторе. Для решения первой задачи на проценты (при помощи первой кнопки со знаком “=” на данной форме Form7) дважды щелкаем эту кнопку (рис. 12.1). Появляется файл Form7.cs с шаблоном, в который записываем:

double mul1, mul2, mul3;

mul1 = Convert.ToDouble(textBox1.Text);

mul2 = Convert.ToDouble(textBox2.Text);

mul3 = mul1 * mul2/100;

textBox3.Text = mul3.ToString();

textBox4.Focus();

Для решения второй задачи на проценты (при помощи второй кнопки со знаком “=” на данной форме Form7) дважды щелкаем эту кнопку в режиме проектирования (рис. 12.1). Появляется файл Form7.cs с шаблоном, в который записываем:

double mul1, mul2, mul3;

mul1 = Convert.ToDouble(textBox4.Text);

mul2 = Convert.ToDouble(textBox5.Text);

mul3 = mul1/mul2*100;

textBox6.Text = mul3.ToString();

textBox7.Focus();

Для решения третьей задачи на проценты (при помощи третьей кнопки со знаком “=” на данной форме Form7) дважды щелкаем эту кнопку в режиме проектирования (рис. 12.1). Появляется файл Form7.cs с шаблоном, в который записываем:

double mul1, mul2, mul3;

mul1 = Convert.ToDouble(textBox7.Text);

mul2 = Convert.ToDouble(textBox8.Text);

mul3 = mul1/mul2*100;

textBox9.Text = mul3.ToString();

textBox10.Focus();

Для решения четвертой задачи на проценты (при помощи четвертой кнопки со знаком “=” на данной форме Form7) дважды щелкаем эту кнопку в режиме проектирования (рис. 12.1). Появляется файл Form7.cs с шаблоном, в который записываем:

double mul1, mul2, mul3;

mul1 = Convert.ToDouble(textBox10.Text);

mul2 = Convert.ToDouble(textBox11.Text);

mul3 = mul1*(1 + mul2/100);

textBox12.Text = mul3.ToString();

textBox13.Focus();

Для решения пятой задачи на проценты (при помощи пятой кнопки со знаком “=” на данной форме Form7) дважды щелкаем эту кнопку в режиме проектирования (рис. 12.1). Появляется файл Form7.cs с шаблоном, в который записываем:

double mul1, mul2, mul3;

mul1 = Convert.ToDouble(textBox13.Text);

mul2 = Convert.ToDouble(textBox14.Text);

mul3 = mul1*(1 - mul2/100);

textBox15.Text = mul3.ToString();

Аналогично (как в предыдущей главе) разработаем циклическое изменение цвета шрифта (текста) всех элементов управления, которые имеются на данной форме (например, с целью выделить эти тексты). Как сделать мигающим текст только для одного элемента управления, мы уже показали выше для переключателя и далее будем показывать (в последующих главах) для других элементов управления.

Напомним, что цвет шрифта (текста) элементов управления на форме устанавливается в панели Properties (с заголовком Form7) в свойстве BackColor и по умолчанию имеет значение Control. Алгоритм данной анимации формулируем так:

после появления формы цвет текста на всех элементах управления, которые расположены на данной форме, начинает циклически изменяться, например, с черного на белый и обратно, с заданным нами выше в панели Properties интервалом времени для компонента Timer1.

Для программной реализации этого алгоритма дважды щелкаем значок timer1 (ниже формы в режиме проектирования). Появляется файл с шаблоном, который после записи нашего кода принимает следующий вид:

//Объявляем булеву переменную myColor со значением false:

bool myColor = false;

private void timer1_Tick(object sender, EventArgs e)

{

//Вводим анимацию:

if (myColor == false)

{

//Выводим черный цвет текста

//для всех элементов на форме:

this.ForeColor = System.Drawing.Color.Black;

//Изменяем значение myColor на противоположное:

myColor = true;

}

else

{

//Выводим белый цвет текста

//для всех элементов на форме:

this.ForeColor = System.Drawing.Color.White;

//Изменяем значение myColor на противоположное:

myColor = false;

}

}