2010-09-24 49 views
3

我有一個自定義控件(繼承自control;目標是.NET Compact Framework v2),它具有位圖屬性。如何在Visual Studio窗體設計器中呈現.NET Compact Framework自定義控件的位圖屬性?

當前,窗體設計器上的控件實例將只繪製選定的背景顏色,並將過度寫入namespace.control.name

在屬性編輯器中選擇圖像後,如何讓圖像由表單設計器呈現?

編輯:控制是相當基本的,但我重寫onpaintonpaintbackground

EDIT2:在努力確定我寫了一個簡單得多的控制的原因。這只是一個位圖屬性和在onpaint(這麼便宜imagebutton)的電話。這也無法呈現。我甚至包括一張支票,以確保它不會渲染一個空的圖像,從不刷新任何東西,但沒有運氣。

+0

我希望你能得到一個真正的答案,但我必須在這裏發表評論,讓自定義控件在運行時正確呈現可能非常困難。試圖讓它在設計師眼裏也看起來是正確的,但實際上並沒有什麼收穫(除非這是你打算出售的第三方產品)。 – MusiGenesis 2010-09-24 01:34:24

+0

一旦你得到它的工作,你必須嘗試再次爲CF 3.5工作。我完全理解,讓設計師做正確的事情幾乎是不值得的。 – ctacke 2010-09-24 04:05:19

+0

這不是很令人放心:(......至少它是內部使用,我可以跳過讓它正常呈現 – 2010-09-24 15:00:39

回答

0

你是否手動繪製(即覆蓋OnPaint並繪製該位圖)?一般來說,在設計器中渲染一個非常基本的控件應該是可行的。

如果設計者遇到無法處理的東西(P/Invoke前面的例子),那麼您將得到帶有控件名稱的框,並且經常需要「保護」設備特定的代碼以免被調用設計師。

試着退出功能,直到它開始正確渲染,找出它失敗的地方(因爲你不能真正以任何其他方式調試這個東西)。

+0

我重寫onpaint並繪製位圖 - 這是關於像'瘋狂',因爲它得到雖然,沒有p /調用,或任何不應該控制的東西 – 2010-09-24 14:58:30

相關問題