Ну, вы можете. Вам нужно будет получить графический контекст для родительской формы или контейнера. Его легко получить с помощью Control.CreateGraphics(). Но это не сработает, особенно когда вы запускаете XP или с отключенным Aero. Родитель будет рисовать свой фон без учета ваших пикселей, вытирая их, когда ему будет предложено перекрасить себя. Очень заметно, если вы переместите другое окно по вашей форме.
Вы можете обойти это, разрешив родителям оповестить элемент управления, что он это сделал, передав объект e.Graphics в OnPaintBackground и OnPaint переопределив элемент управления. Не красиво.
Наличие контрольной жеребьевки на фоне контейнера было общим в дни контроля ActiveX. Они были известны как «элементы управления без окон», обычно используемые в VB6. В то время это было необходимо для обеспечения выполнения программ. Это немного вернулось в .NET 2.0 с классом ToolStripItem. И WPF, конечно. Также в браузерах. Написание таких элементов управления, однако, непросто, для замены функций, предоставляемых окном и классом Control, требуется код . ToolStripXxx отличается большим количеством ошибок в коде.
Перехват сообщений Paint. особенно WM_NCPAINT, не можете ли вы выполнить рисование за пределами границ контроля или это будет скреплено? – jmayor
WM_NCPAINT предназначен для неклиентских областей окна, таких как строка заголовка и т. Д. Он имеет совсем другой эффект, чем эффекты WPF ClipBounds. Мимика поведения WPF в Windows Forms в основном означает выполнение всей вашей собственной картины и полностью отказ от модели управления Windows Forms. В этот момент вам лучше просто разместить WPF в элементе управления ElementHost. –