Вычисление массы изделий при помощи формы
Листинг 77.1. Методы для расчета параметров детали.
//Объявляем переменные:
double d, H, Rn, s;
double A, V, m, D;
double rho;
double pi = Math.PI;
//Площадь поверхности детали:
double Area()
{
double A=0, A1, A2, A3;
A1=Area1(); A2=Area2(); A3=Area3();
A=A1+A2+A3;
return A;
}
//Объем детали:
double Volume()
{
A=Area(); V=A*s;
return V;
}
//Масса детали:
double mass()
{
A=Area(); //mm*mm
V=Volume(); //mm*mm*mm
m=V*rho*1.0e-9; // kg
return m;
}
//Диаметр плоской заготовки:
double DBlank()
{
A=Area(); D=Math.Sqrt(4*A/pi);
return D;
}
//Площадь круга:
double Area1()
{
double A1 = pi*(d-2*Rn)*(d-2*Rn)/4;
return A1; //mm*mm
}
//Площадь нижнего тора:
double Area2()
{
double A2 = pi*(Rn-s/2)*(2*(Rn-s/2)+pi*(d-2*Rn)/2);
return A2; //mm*mm
}
//Площадь цилиндра:
double Area3()
{
double A3 = pi*(d-s)*(H-Rn);
return A3; //mm*mm
}
Листинг 77.2. Метод кнопки OK для расчета параметров детали.
private void button5_Click(object sender, EventArgs e)
{
//Считывание данных о геометрии детали
//и плотности материала:
d = Convert.ToDouble(textBox1.Text);
H = Convert.ToDouble(textBox2.Text);
Rn = Convert.ToDouble(textBox3.Text);
s = Convert.ToDouble(textBox4.Text);
rho = Convert.ToDouble(textBox5.Text);
//Расчет параметров детали и вывод в окна:
textBox6.Text = Area().ToString();
textBox7.Text = Volume().ToString();
textBox8.Text = mass().ToString();
textBox9.Text = DBlank().ToString();
textBox1.Focus(); //Курсор - в первое окно.
}
Листинг 77.3. Метод для выполнения анимации.
//Объявляем булеву переменную myColor со значением false:
bool myColor = false;
private void timer1_Tick(object sender, EventArgs e)
{
//Вводим анимацию:
if (myColor == false)
{
//Выводим белый цвет рамки pictureBox1:
this.pictureBox1.BackColor = Color. White;
//Изменяем значение myColor на противоположное:
myColor = true;
}
else
{
//Выводим желтый цвет рамки pictureBox1:
this.pictureBox1.BackColor = Color.Yellow;
//Изменяем значение myColor на противоположное:
myColor = false;
}
}
Листинг 77.4. Код для печати информации с формы.
// При помощи метода DrawImage печатаем рисунок детали,
//находящийся внутри рамки pictureBox1:
e.Graphics.DrawImage(pictureBox1.Image, 0, 0);
//При помощи метода DrawString печатаем
//исходные данные: d, H, Rn, s, rho:
string msg;
msg = "d = " + textBox1.Text + " mm";
e.Graphics.DrawString(msg, this.Font, Brushes.Black, 400, 100);
msg = "H = " + textBox2.Text + " mm";
e.Graphics.DrawString(msg, this.Font, Brushes.Black, 400, 120);
msg = "Rn = " + textBox3.Text + " mm";
e.Graphics.DrawString(msg, this.Font, Brushes.Black, 400, 140);
msg = "s = " + textBox4.Text + " mm";
e.Graphics.DrawString(msg, this.Font, Brushes.Black, 400, 160);
msg = "rho = " + textBox5.Text + " kg/(m*m*m*)";
e.Graphics.DrawString(msg, this.Font, Brushes.Black, 400, 180);
//При помощи метода DrawString печатаем
//результаты расчета: A, V, m, D:
msg = "A = " + textBox6.Text + " mm*mm";
e.Graphics.DrawString(msg, this.Font, Brushes.Black, 400, 220);
msg = "V = " + textBox7.Text + " mm*mm*mm";
e.Graphics.DrawString(msg, this.Font, Brushes.Black, 400, 240);
msg = "m = " + textBox8.Text + " kg";
e.Graphics.DrawString(msg, this.Font, Brushes.Black, 400, 260);
msg = "D = " + textBox9.Text + " mm";
e.Graphics.DrawString(msg, this.Font, Brushes.Black, 400, 280);