【问题标题】:Picture box transparency in vbvb中的图片框透明度
【发布时间】:2012-03-09 16:20:05
【问题描述】:

当我运行我的代码时,图片框有背景颜色,即使我在属性窗口中将背景颜色设置为透明。有什么想法吗?

【问题讨论】:

    标签: vb.net transparency picturebox


    【解决方案1】:

    我假设您将PictureBox 重叠在其他一些控件上,并期望看穿PictureBox。这不是它的工作原理 - 具有透明背景的控件仅相对于其父控件是透明的,而不是其他控件。您可以使用 GDI+ 通过覆盖表单的 OnPaint 方法来绘制它们:

    Private Shared ReadOnly SomeImage As Image = My.Resources.blah 'Get your image somewhere
    
    Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs)
        Dim g As Graphics = e.Graphics
    
        g.DrawImage(SomeImage, xCoordinate, yCoordinate)
    
        'Draw as many images or text as you want.
    End Sub
    

    此外,似乎人们主要是在寻找这个功能来制作游戏。你在做游戏吗?如果是这种情况,请在制作游戏之前学习图形。那里有很多很好的教程。

    【讨论】:

    • 谢谢。我不是在制作游戏,我正在尝试为 AS3 练习寻路,但在 VB 中更自如。
    • 虽然现在我遇到了一个新问题——我正在绘制的线条没有显示在我在表单上的控件上。画在他们面前了吗?
    • @Sam:是的。为此,您需要使用 GDIall 绘制它们。但别担心 - 这很棒,因为您不需要图片。 (见Graphics.DrawLine!)
    • 太棒了,谢谢 - 我不知道你能做到这一点!我过去做了很多XNA,所以应该把它整理出来。感谢您的快速回复。
    • 谢谢。但是还有其他方法吗?我想创建一个透明图片框作为“图层”。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-08
    相关资源
    最近更新 更多