如何设计一个很酷的半透明防溅屏?

Muj*_*KAS 6 c# png visual-studio-2010 winforms

我正在尝试设计半透明屏幕作为Adobe Photoshop和视觉工作室半透明欢迎闪屏同时打开应用程序.我将FormBorderStyle设置为none,然后我在其上放置了一个图片框,我添加了一个png图像,我将图片框颜色设置为透明,但我无法将Form的背面颜色设置为透明.以下是例子:

照片店启动启动画面

Visual Studio启动启动画面

当我将窗体的Back Color设置为透明时,它会显示错误

财产无效.控件不支持透明背景颜色.

我已经尝试了几个代码示例,如下所示:

    public Splash_Screen()
{
    this.SetStyle(ControlStyles.SupportsTransparentBackColor, true);
    InitializeComponent();
    this.BackColor = Color.Red;
    BackColor = Color.Transparent;
}
Run Code Online (Sandbox Code Playgroud)

    public Splash_Screen()
{
    this.SetStyle(ControlStyles.SupportsTransparentBackColor, true);
    InitializeComponent();
}
Run Code Online (Sandbox Code Playgroud)

但是,没有事情对我有用..有什么建议吗?

Tol*_*men 8

您将半透明背景图像设置BackgroundImage为窗体的属性.然后将a设置BackColor为您的表单,并将表单的TransparencyKey属性设置为您为表单设置的相同颜色BackColor.然后通过将窗体的FormBorderStyle属性更改为删除窗体的边框None.那样做.

  • 我认为这是最好的答案 - 我多年来一直在努力做到这一点(当时不是优先事项).现在我可以使用PINK作为我的backColor和TransparencyKey(知道我的图像没有这样的颜色).我确保我的图像本身具有透明背景(这里有很好的转换器[透明度,图标,png等]).您还可以在表单/图像的某些部分添加进度条控件,它看起来很棒.非常感谢你(chagbert) (2认同)