Краска событий в WinFormsC#

Место общения программистов C#
Ответить
Anonymous
 Краска событий в WinForms

Сообщение Anonymous »

У меня есть метод рисования фракталов согласно следующему фрагменту:

Код: Выделить всё

 public static void DrawFractal(int x, int y, int len, double angle, PaintEventArgs e,Panel panel1)
{
Graphics g = e.Graphics;
double x1, y1;
x1 = x + len * Math.Sin(angle * Math.PI * 2 / 360.0);
y1 = y + len * Math.Cos(angle * Math.PI * 2 / 360.0);
g.DrawLine(new Pen(Color.Black), x, panel1.Height - y, (int)x1, panel1.Height - (int)y1);
if (len > 2)
{
DrawFractal((int)x1, (int)y1, (int)(len / 1.5), angle + 30, e,panel1);
DrawFractal((int)x1, (int)y1, (int)(len / 1.5), angle - 15, e,panel1);
}

}
private void panel1_Paint(object sender, PaintEventArgs e)
{
FractalTree.DrawFractal(panel1.Width / 2, panel1.Height / 2, 80, 0, e, panel1);
}
Теперь этот метод рисует при открытии окна. Я бы хотел, чтобы он рисовался при нажатии кнопки.

Код: Выделить всё

private void button2_Click(object sender, EventArgs e)
{
}
Также хотелось бы добавить возможность остановки рендеринга позже. Поэтому буду рад, если вы подскажете идею работы с обработчиками и событиями, связанными с рендерингом.
[Вот как это будет выглядеть][1]: https: //i.sstatic.net/OGcC0.png
[2]: https://i.sstatic.net/mQeHc.png

Подробнее здесь: https://stackoverflow.com/questions/738 ... n-winforms
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»