我只是在我的简单问题中寻找答案.这里是
我有一个透明图像的pricturebox background
我将图片框设置backcolor
为透明.
之后,图片透明bg
.但在我添加此代码后
ìmg1.Left = windows.forms.cursor.Position.X - me.Left
ìmg1.Top= windows.forms.cursor.Position.Y - me.Top
'code for using img as cursor
图像bg并不像这样透明
我认为backcolor
透明不是真的透明.它只会获取backcolor
表单并使用它作为backcolor
图像而不是透明.
有没有解决方案让它完全透明?
你的假设是正确的.
winforms中的透明度并不意味着对象实际上是透明的.相反,它意味着它将显示它的父对象而不是它的背景,包括它的背景,图像和文本,但不包括任何其他控件,因此你的问题.
由于您最顶部的图片框的父控件不是也不能是其他图片框,因此您最顶部的图片框具有透明背景的事实将无济于事.
不幸的是,使用表单的TransparencyKey
属性也无济于事.(它会使所选颜色透明,但会产生意外(通常是不需要的)结果.
为了实现您的目标,您必须在评论中遵循OneFineDay的建议,并使用Graphics
自己绘制图像.
幸运的是,这很容易做到:
Public Sub DrawImage(Image as Image, Location As Point)
Using(Dim g as Graphics = Me.CreateGraphics())
g.DrawImage(Image, Location)
EndUsing
End Sub
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2342 次 |
最近记录: |