Если я переопределю OnPaint и нарисую квадрат на элементе управления, как мне заставить этот e.graphics.draw ... отображаться, когда я просматриваю его в дизайнере?
Переопределить OnPaint
Ответы (2)
http://msdn.microsoft.com/en-us/magazine/cc164048.aspx
http://msdn.microsoft.com/en-us/magazine/cc164145.aspx
Хотя вы можете вручную зарегистрироваться в Control.OnPaint, чтобы добавить пользовательский интерфейс времени разработки, вы обнаружите, что переопределение OnPaintAdornments - лучший вариант, потому что он вызывается только после того, как пользовательский интерфейс времени разработки / выполнения элемента управления отрисовывается, позволяя вам поместить глазурь на торте (см. рисунок 20). Простое добавление DesignerAttribute к классу ClockControl завершает ассоциацию: Копировать код
[Конструктор (typeof (ClockControlDesigner))] класс ClockControl: Control {...}
Если вы пытаетесь нарисовать прямоугольник фокуса для вашего управления и сделать его видимым при манипулировании вашим элементом управления после того, как он был добавлен в форму, тогда Подход Gaijin42 должен работать.
Если вы пытаетесь увидеть, как выглядит ваш настраиваемый нарисованный элемент управления ...
Если вы переопределили метод
OnPaint
в элементе управления, вы должны увидеть результаты этогоOnPaint
, когда посмотрите на свой элемент управления после того, как он был добавлен в форму (или другой элемент управления).- # P4 #
# P5 # # P6 #