返回首页


我已经定制了自己一个清晰的控制和使用两种方式时,它的工作原理,这种方式,但这种方式。方式1:
清晰的控制类,包括在同一命名空间的类的主要形式。我创建我清醒的控制类的一个实例,并把它添加到一个主窗体上的PictureBox控件和运行的应用程序。它的工作原理以及作为tranparent的BackColor控制。
方式2:
现在,建设成一个dll文件,我清醒的控件类,并创建一个新项目。在这个项目中,我也有一种主要形式,一个PictureBox。我用它添加到工具箱中,然后再从工具箱上的PictureBox拖放我清醒的控制,但可悲的是它没有作为一个清醒的控制工作?如果我的主要形式,它拖放,它的工作原理以及一个清晰的控制。
能否请您建议我任何关于它为什么就是这样的想法,以及如何解决?
太谢谢你了!

回答

评论会员:游客 时间:2012/02/06
SAKryukov:嗨,国王男孩,这是预期的效果。你使用的是不是真正的透明度,从使用的角度来看PictureBox的成像。相反,你需要使用alpha通道(例如,使用System.Drawing.Imaging.PixelFormatFormat32bppArgb,Format32bppPArgb,Format64bppArgb或Format64bppPArgb(imgsrc=])。特别是,PNG格式(默认为。NET的点阵图)使用alpha通道。另外,你没有解释使用控制System.Windows.Forms.PictureBox的目的。这种控制常常被严重滥用。它看起来像你当你做同样的一个PictureBox拖放图像。即使你能做到这一点,这种控制不帮助你实现所需的行为,只提出了额外的麻烦,吃起来没有任何意义的资源。如果你需要任何动态或交互式或动画,使用自定义的控制与直接渲染使用的OnPaint要好得多。我解释了如何做到这一点:{A1}]mdash;水杨酸
BillWoodruff
评论会员:游客 时间:2012/02/06
SA的建议您不要使用一个PictureBox的是,我认为,一个非常好的主意没有看到你的代码,这只是"猜测",但我认为一个面板可能是一个良好的容器为您的透明控制。你是否熟悉这项技术使管制的透明度:codeprelang="cs"spanclass="code-keyword"protected/spanspanclass="code-keyword"override/spanCreateParamsCreateParams{spanclass="code-keyword"get/span{CreateParamscp=base.CreateParams;cp.ExStyle|=0x00000020;spanclass="code-comment"///spanspanclass="code-comment"WS_EX_TRANSPARENT/spanspanclass="code-keyword"return/spancp;}}/pre/code如果没有,请参阅:[{A2的}上面的链接是鲍勃・鲍威尔的网站缓存版本的"Windows窗体技巧和诀窍:"原来的网站似乎已采取脱线。最好的,条例草案
SAKryukov下:WEL Sandhya.T simpliy创建CSV文件,下面是一个例子代码,静态数据动态

{C}