Делал сегодня реализацию своих контролов в силу того что те задачи что ставились не могли решиться стандартным набором. Вкратце как это делается, создается класс, наследуемый от существующего контрола, либо от базового класса Control, в нем уже переопределяется поведение контрола. Все достаточно ажурно. Хотел бы еще сделать замечание как сделать контрол перетаскиваемым. В обработчик onMouseDown добавляем функцию DoDragDrop(obj,DragDropEffects.Move); obj – это тот объект, что мы будем передавать принимающей стороне. Принимающий контрол должен иметь свойство AllowDrop, установленное в true и в событие DragEnter должно содержать код
private void onDragEnter(object sender, DragEventArgs e) { e.Effect = DragDropEffects.Move; }
в событии DragDrop мы получим наш объект, остается его только распаковать из object в исходный объект.
Оставить комментарий