2010-09-24 45 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

相关问题