Алгоритмическое мышление при решении задач (на примере языка C#). Шамшев А.Б - 103 стр.

UptoLike

Составители: 

103
/// <returns></returns>
public bool contains(Point p) {
var rect = new Rectangle(x - size / 2, y - size / 2, size,
size);
return rect.Contains(p);
}
}
Следующий вопроса как появляются квадраты на форме? Пусть они
будут появляться при щелчке правой кнопкой мыши. Тогда надо добавить
обработчик соответствующего события.
public partial class Form1 : Form {
public Form1() {
InitializeComponent();
//создаем панель, на которой будет происходить рисование
Panel drawPanel = new Panel();
//говорим, что она должна заполнять всю форму
drawPanel.Dock = DockStyle.Fill;
//добавляем обработчик рисования
drawPanel.Paint += new PaintEventHandler(drawPanel_Paint);
//добавляем обработчик нажатий кнопки мыши
drawPanel.MouseClick += new
MouseEventHandler(drawPanel_MouseClick);
//и добавляем ее на форму
this.Controls.Add(drawPanel);
}
void drawPanel_MouseClick(object sender, MouseEventArgs e) {
//если нажата не правая кнопка мыши,
if (e.Button != MouseButtons.Right) {
//то выходим
return;
}
//создаем новый квадрат
var newF = new Square(e.X, e.Y, 10);
//и добавляем
его в список квадратов
figureList.Add(newF);
}
public List<Square> figureList = new List<Square>();
void drawPanel_Paint(object sender, PaintEventArgs e) {
//для примера нарисуем линию
e.Graphics.DrawLine(Pens.Red, 0, 0, 50, 50);
}
}
Теперь надо нарисовать квадраты. Для того, что бы нарисовать множество
квадратов, надо нарисовать каждый квадрат во множестве. Естественно, это
должно находиться в обработчике рисования. Поэтому следующим шагом
будет
public partial class Form1 : Form {