Если я переопределяю OnPaint и нарисую квадрат на элементе управления, как мне получить, что e.graphics.draw ... появится, когда я просматриваю его в дизайнере?Override OnPaint
ответ
http://msdn.microsoft.com/en-us/magazine/cc164145.aspx
Хотя вы можете вручную зарегистрировать с Control.OnPaint добавить свой дизайн времени пользовательского интерфейса, вы обнаружите, что переопределение OnPaintAdornments является лучшим вариантом , потому что это только после того, как пользовательский интерфейс времени разработки/времени выполнения управления окрашен, позволяя положить глазурь на торт (см. рисунок 20). Просто добавления DesignerAttribute к классу ClockControl завершает ассоциации: Скопировать код
[ Дизайнер (TypeOf (ClockControlDesigner)) ] Класс ClockControl: Контроль {...}
Хорошо, что вы включили описание параграфа, потому что эти ссылки мертвы. – LarsTech
Если вы пытаясь нарисовать прямоугольник фокуса для вас, и его можно увидеть при манипулировании вашим контролем после его добавления в форму, тогда Gaijin42's approach должен работать.
Если вы пытаетесь узнать, что ваш заказ обращается управление выглядит ...
Если вы переопределен метод
OnPaint
в управлении, вы должны увидеть результаты этогоOnPaint
, когда вам посмотрите на свой контроль после того, как он был добавлен в форму (или другой элемент управления).Если вы пытаетесь увидеть результаты
Paint
при взгляде на дизайнера для самого управления, I don't think that is possible (по крайней мере, это было не с VS2005):К сожалению, это не возможно , Пока вы пишете поведение пользовательского элемента управления, код не скомпилирован, а разработчик фактически использует обычный пользовательский элемент управления для размещения дочерних элементов управления.
OnPaint
переопределение и т. Д. Не запускается.Для отладки переопределений в вашем управлении вам необходимо запустить его в каком-то хосте. VS2005 предоставляет новый элемент управления для этой цели, но я считаю, что даже этого недостаточно.
- 1. Override OnPaint-Event TBCDProgressBar
- 2. Override Label OnPaint?
- 3. OnPaint override никогда не называется
- 4. .net compact frame button override OnPaint
- 5. Override Picturbox OnPaint Событие для поворота изображения -Создание пользовательского Picturebox
- 6. Вызов OnPaintBackground в OnPaint
- 7. Текстовое поле custom onPaint
- 8. OnPaint Paint Issue
- 9. Использование метода OnPaint()
- 10. Понимание метода OnPaint
- 11. Panel.Invalidate не обрабатывается OnPaint
- 12. Метод TextBox OnPaint не называется?
- 13. Winforms Frameratelock в OnPaint?
- 14. OnPaint не рисовать правильно
- 15. Вызов перерисовки() на Java onPaint()
- 16. NETCF - Оптимизированная перекраска (onPaint)
- 17. OnPaint обновляется слишком часто
- 18. Invalidate without OnPaint
- 19. TestWnd :: OnPaint() не вызывается
- 20. прошивание в OnPaint
- 21. .net onpaint vertical sync
- 22. Цвет шрифта OnPaint
- 23. Эффективное использование OnPaint
- 24. OnPaint не срабатывает?
- 25. MFC OnPaint CButton
- 26. TabControl OnPaint вызывает
- 27. Подкласс DatagridView, событие onPaint
- 28. CodeSourcery CS3 override override
- 29. OnPaint в winform - .NET Compact Framework 3.5
- 30. C#: переопределение OnPaint на ProgressBar не работает?
Вы спрашиваете, как нарисовать прямоугольник фокуса на настраиваемой обращается контроль, или как увидеть результаты переопределенная OnPaint, глядя на дизайнера элемента управления? –