Компьютерная графика, мультимедиа и игры на Visual C#

       

Вычисление массы изделий при помощи формы


Листинг 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);

Содержание раздела