-1
Я хочу, чтобы прямоугольник вращался вокруг его центра. Вращение работает отлично, но я не могу понять, как вращать его вокруг своего центра. Кто-нибудь может мне помочь? Благодаря! :) Вот мой код:Вращайте прямоугольник - C#
private void button1_Click(object sender, EventArgs e)
{
Paint += new PaintEventHandler(PaintRectangle);
angle = 0;
t = new Timer();
t.Tick += new EventHandler(DrawRectangle);
t.Interval = 1;
t.Start();
}
private void DrawRectangle(object sender, EventArgs e)
{
angle++;
Invalidate();
}
private void PaintRectangle(object sender, PaintEventArgs e)
{
Rectangle r = new Rectangle(0, 0, 100, 10);
Graphics g = CreateGraphics();
g.TranslateTransform(124, 150);
g.RotateTransform(angle);
g.DrawRectangle(Pens.White, r);
}
Зачем вам назначать обработчик события рисования снова и снова в событии нажатия кнопки? –
Потому что я хочу повернуть его, когда эта кнопка нажата. – DannyDSB
'Графика g = CreateGraphics();' ouch! вы должны использовать объект e.Graphics. Здесь ansd __always__ !! После того, как roation установит перевод назад __ на ту же сумму__, тогда рисуйте! Сумма должна быть вдвое меньше размера прямоугольника! – TaW