Вычисление процентов
Теперь в шаблон файла 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;
}
}
Степени, корни, логарифмы и факториалы
Теперь в шаблон файла Form9.cs необходимо написать нашу часть кода для выполнения расчетов. Для возведения числа “x” в различные степени (при помощи первой кнопки со знаком “=” на данной форме Form9) дважды щелкаем эту кнопку (рис. 13.1). Появляется файл Form9.cs с шаблоном, в который записываем:
double x, x2, x3, x4, x5;
x = Convert.ToDouble(textBox1.Text);
x2 = Math.Pow(x,2);
textBox2.Text = x2.ToString();
x3 = Math.Pow(x,3);
textBox3.Text = x3.ToString();
x4 = Math.Exp(x);
textBox4.Text = x4.ToString();
x5 = Math.Pow(10,x);
textBox5.Text = x5.ToString();
textBox6.Focus();
Для вычисления степени или x^y (при помощи второй кнопки со знаком “=” на данной форме Form9) дважды щелкаем эту кнопку в режиме проектирования (рис. 13.1). Появляется файл Form9.cs с шаблоном, в который записываем:
double x, y, x2;
x = Convert.ToDouble(textBox1.Text);
y = Convert.ToDouble(textBox6.Text);
x2 = Math.Pow(x,y);
textBox7.Text = x2.ToString();
textBox11.Focus();
Для вычисления корней ( или sqrt(x);
или x^(1/3);
или x^(1/y) при помощи третьей кнопки со знаком “=” на форме Form9, дважды щелкаем эту кнопку (рис. 13.1). Появляется файл Form9.cs с шаблоном, в который записываем:
double x, x2, c, x3, x4, y;
x = Convert.ToDouble(textBox1.Text);
x2 = Math.Sqrt(x);
textBox8.Text = x2.ToString();
c = 1/3.0;
x3 = Math.Pow(x,c);
textBox9.Text = x3.ToString();
y = Convert.ToDouble(textBox6.Text);
if (y!=0)
{
c = 1/y;
x4 = Math.Pow(x,c);
}
else x4 = 0;
textBox10.Text = x4.ToString();
textBox11.Focus();
Для вычисления корня или a^(x/y) при помощи четвертой кнопки со знаком “=” на форме Form9 дважды щелкаем эту кнопку (рис. 13.1). Появляется файл Form9.cs с шаблоном, в который записываем:
double x, y, a, c, x4;
x = Convert.ToDouble(textBox1.Text);
y = Convert.ToDouble(textBox6.Text);
a = Convert.ToDouble(textBox11.Text);
if (y!=0)
{
c = x/y;
x4 = Math.Pow(a,c);
}
else x4 = 0;
textBox12.Text = x4.ToString();
textBox13.Focus();
Для вычислений трех логарифмов или ln(x);
или log(x);
или log[y](x) при помощи пятой кнопки со знаком “=” на форме Form9, дважды щелкаем эту кнопку (рис. 13.1). Появляется файл Form9.cs с шаблоном, в который записываем:
double x, x2, x3, x4=0, x5=1, x6, y;
x = Convert.ToDouble(textBox1.Text);
y = Convert.ToDouble(textBox6.Text);
if (x!=0)
{
x2 = Math.Log(x);
}
else x2 = 0;
textBox13.Text = x2.ToString();
if (x!=0)
{
x3 = Math.Log10(x);
}
else x3 = 0;
textBox14.Text = x3.ToString();
if (x!=0) x4 = Math.Log10(x);
if (y!=0) x5 = Math.Log10(y);
x6 = x4/x5;
textBox15.Text = x6.ToString();
textBox16.Focus();
Для вычисления факториалов n!, где n – целое положительное число (при n=0, n!=1) при помощи шестой кнопки со знаком “=” на форме Form9 дважды щелкаем эту кнопку (рис. 13.1). Появляется файл Form9.cs с шаблоном, в который записываем:
long i, n, Fac=1;
n = Convert.ToInt64(textBox16.Text);
for (i=2; i<=n; i++)
Fac = Fac*i;
textBox17.Text = Fac.ToString();
В предыдущих главах мы разработали все основные эффекты анимации, которые связаны с пошаговыми изменениями свойств самой формы. А теперь приступим к разработке эффектов анимации, которые связаны с пошаговыми изменениями свойств элементов управления, которые мы размещаем на форме. И на данной форме эффект анимации разработаем для элемента управления, который мы, как правило, первым размещаем на панели, а именно, для рамки группы GroupBox. Создадим циклическое изменение (мигание) надписи при рамке группы (когда, например, мы хотим выделить эту надпись для пользователя).
Алгоритм данной анимации формулируем так:
после появления формы на ней начинает циклически изменяться (мигать) надпись, например, “Powers, Roots, Logarithms and Factorials” при рамке группы (с заданным нами выше в панели Properties интервалом времени для компонента Timer1).
Для программной реализации этого алгоритма (по разработанной в главе 2 методике) дважды щелкаем значок для компонента Timer ниже формы в режиме проектирования. Появляется файл с шаблоном, в который записываем:
//Объявляем булеву переменную myText со значением false:
bool myText = false;
private void timer1_Tick(object sender, EventArgs e)
{
//Вводим анимацию:
if (myText == false)
{
//Выводим название рамки:
this.groupBox1.Text =
"Powers, Roots, Logarithms and Factorials";
//Изменяем значение myText на противоположное:
myText = true;
}
else
{
//Удаляем название рамки:
this.groupBox1.Text = "";
//Изменяем значение myText на противоположное:
myText = false;
}
}
В этом коде в строке (this.groupBox1.Text = "";) между кавычками мы можем записать другой текст, который будет чередоваться с первой надписью.
0 коммент.:
Отправить комментарий