Как сделать так, чтобы элемент управления отображением отображал фальшивые данные в режиме конструктора, но не во время реального запуска приложения? - PullRequest
0 голосов
/ 29 ноября 2018

Я написал собственный элемент управления с собственным OnPaint ().Обычно это данные графика из сложного объекта класса ComplexDataObject, переданного ему через метод MyFancyControl.TakeThisData (данные ComplexDataObject).

Когда приложение запускается, экземпляр данных отсутствует;внутренняя переменная элемента управления, ссылающаяся на ComplexDataObject, имеет значение null.В этом случае OnPaint () просто рисует текст «нет данных» и возвращает.Когда есть данные, он рисует кучу блоков и данных.

Что я хочу сделать, так это во время разработки, когда я возился с элементами управления на форме в Visual Studio, чтобы увидеть блоки управления отображением и, возможно, фальшивые данные.

Подобно тому, как Chart отображает фальшивые данные в режиме конструктора, но просто рисует сетку и масштаб, но нет маркеров или полос данных (даже фальшивых), когда приложение действительно работает, но еще не имеет данных.

Обратите внимание, что ComplexDataObject является сложным (а значит и именем) и слишком сложным, чтобы что-то создавать для использования в режиме конструктора.Я думаю, что я хотел бы взломать OnPaint (), чтобы нарисовать поддельные данные (возможно, вызвать метод PaintFakeData ()), но как бы он узнал, если он выполняется во время события рисования представления дизайна?

Как это сделать

...