.NET 4.x Создать событие для объекта класса - C#
Формулировка задачи:
Доброго времени суток! Предположим, что существует класс, назовём его Теперь я хочу создать событие нажатия кнопок мыши уже на нашем нарисованном объекте, чтобы это выглядело, например, так: я нажимаю ЛКМ на панель - рисуется наш объект (круг, к примеру), нажимаю ПКМ на этом круге - он меняет цвет, нажимаю ЛКМ на этом круге - перемещается и т.д.
Думаю, смысл понятен. Помогите реализовать.
MyClass
. Я добавляю в список List<MyClass> MyList
объекты этого класса по нажатию левой кнопки мыши на панель и рисую их на этой же панели panel1
private void panel1_MouseClick(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { MyList.Add(new MyClass(e.X,e.Y)); MyList.Last().Draw(gr); } }
Решение задачи: «.NET 4.x Создать событие для объекта класса»
textual
Листинг программы
protected override void OnMouseDown(MouseEventArgs e) { base.OnMouseDown(e); if (Figures == null) return; if (e.Button == MouseButtons.Left) { startMouseDrag = e.Location; //есликликнули на маркер - выделяем маркер if (selectedFigure != null) { foreach (var m in selectedFigure) if (m.HitTest(e.Location)) { selectedMarker = m; return; } } selectedFigure = null; selectedMarker = null; //ищем фигуру под мышкой using(var pen = new Pen(Color.Black, 3)) foreach (var f in Figures) if (f.Path.IsOutlineVisible(e.Location, pen)) { selectedFigure = f;//выделяем фигуру break; } Invalidate(); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д