Задание
Построить правильный многоугольник. Дополнительно реализовать вращение многоугольника, окраска разноцветным или монотонным цветом,задать разный радиус многоугольника, толщину линий прорисовки и скорость вращения. Также, реализовать очистку поля, увеличение/уменьшение радиуса по прокрутке колесика мыши, толщину контура(Ctrl+колесико мыши) и количества вершин(Колесико мыши+Shift).
Функционал программы
- Отметка количества вершин многоугольника
- Отметка радиуса
- Выбор цвета многоугольника (Моно или разноцветный)
- Выбор тощины линий
- Выбор галочки - соединять вершины или нет
- Выбор скорости вращения многоугольника
- По кнопке "Рисовать" производится прорисовка многоугольника по выбранным критериям
- По кнопке "Вращать" производится его вращение
- Кнопка "Очистить" очищает PictureBox
- Кнопка "Справка" отображает информацию как управлять настройками многоугольника колесиком мыши и клавишами.
Фрагмент программного кода
public partial class Form1 : Form { int n,r,wpen,xc,yc;//инифиализация переменных Graphics gr;//прорисовка графики многоугольника Point[]ver;//прорисовка точек double ugol;//угол при построении double ugolvr;//угол вращения public Form1() { InitializeComponent(); pictureBox1.MouseWheel += new MouseEventHandler(this.pictureBox1_MouseWheel);//включение колесика мыши по действиям на пикчебокс } private void pictureBox1_MouseWheel(object sender, MouseEventArgs e)//обработка действий колесика мыши по пикчебокс { try { if (e.Delta > 0&& ModifierKeys != Keys.Control&& ModifierKeys != Keys.Shift)//обработка конечных (пограничных) значений радиуса по колесику { trackBar1Radius.Value += 1; } else if(ModifierKeys != Keys.Control&& ModifierKeys != Keys.Shift) { trackBar1Radius.Value -= 1; } } catch (System.ArgumentOutOfRangeException) { trackBar1Radius.Value = 2; } try { if (ModifierKeys == Keys.Control)//обработка конечных (пограничных) значений толщины по колесику { if (e.Delta > 0) { trackBar2Tolshina.Value += 1; } else { trackBar2Tolshina.Value -= 1; } } }
Скриншот архива с проектом
Пояснения по запуску программы
Исходный код на C# WinForms для Visual Studio.
Scharp