Заданные мною фигуры не отображаются в PictureBox'е.
В чём проблема понять никак не могу, помогите пожалуйста разобраться.
Полный исходник в аттаче.
Код:
//Form1.cs
namespace WindowsFormsApplication6
{
public partial class Form1 : Form
{
Square [ ] sqr = new Square [ 3 ];
public Form1 ( )
{
InitializeComponent ( );
}
private void Form1_Load ( object sender , EventArgs e )
{
sqr [ 0 ] = new Square ( 50 , 100 , pictureBox1 );
for ( int i = 0 ; i < 3 ; i++ )
{
sqr [ i ].SetColor ( 12 , 155 , 9 );
sqr [ i ].Resize ( 25 );
}
dataGridView1.RowCount = 5;
dataGridView1.Rows [ 0 ].Cells [ "Param" ].Value = "X-Координата";
dataGridView1.Rows [ 1 ].Cells [ "Param" ].Value = "Y-Координата";
dataGridView1.Rows [ 2 ].Cells [ "Param" ].Value = "Угол поворота";
dataGridView1.Rows [ 3 ].Cells [ "Param" ].Value = "Размер";
dataGridView1.Rows [ 4 ].Cells [ "Param" ].Value = "Цвет";
}
private void outputValues (Square _sqr)
{
try
{
dataGridView1.Rows [ 0 ].Cells [ "Value" ].Value = Convert.ToString ( _sqr.GetX ( ) );
dataGridView1.Rows [ 1 ].Cells [ "Value" ].Value = Convert.ToString ( _sqr.GetY ( ) );
dataGridView1.Rows [ 2 ].Cells [ "Value" ].Value = Convert.ToString ( _sqr.GetAngle ( ) );
dataGridView1.Rows [ 3 ].Cells [ "Value" ].Value = Convert.ToString ( _sqr.GetSize ( ) );
dataGridView1.Rows [ 4 ].Cells [ "Value" ].Value = _sqr.GetColor ( ).ToString ( );
}
catch ( Exception ex )
{
MessageBox.Show ( ex.Message );
}
}
private void pictureBox1_Click ( object sender , EventArgs e )
{
for (int i=0; i<3; i++)
{
Square ps = sqr[i];
float X = ps.GetX();
float Y = ps.GetY();
float size = ps.GetSize();
float x1 = X - size / 2;
float x2 = X + size / 2;
float y1 = Y - size / 2;
float y2 = Y + size / 2;
if ( ( X >= x1 ) && ( X <= x2 ) && ( Y >= y1 ) && ( Y <= y2 ) )
{
Square.Activated = ps;
pictureBox1.Invalidate();
return;
}
}
Square.Activated = null;
pictureBox1.Invalidate ( );
}
private void button1_Click ( object sender , EventArgs e ) //Задание Цвета
{
if (colorDialog1.ShowDialog ( ) == DialogResult.OK)
{
button1.BackColor = colorDialog1.Color;
Square.Activated.SetColor ( colorDialog1.Color.R , colorDialog1.Color.G , colorDialog1.Color.B );
}
}
private void btnMoveLeft_Click ( object sender , EventArgs e )
{
Square.Activated.Move ( -10 , 0 );
outputValues ( Square.Activated );
}
private void btnMoveUp_Click ( object sender , EventArgs e )
{
Square.Activated.Move ( 0 , 10 );
outputValues ( Square.Activated );
}
private void PaintBox_Draw ( object sender , PaintEventArgs e )
{
for ( int i = 0 ; i < 3 ; i++ )
{
sqr [ i ].Draw ( );
}
}
}
}