首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C#:Form.DoubleBuffered =真杀透明

C#:Form.DoubleBuffered =真杀透明
EN

Stack Overflow用户
提问于 2011-09-08 16:25:48
回答 2查看 1.3K关注 0票数 4

"Black"

  • Run

  1. 创建一个新的windows窗体项目
  2. Set TransparancyKey & BackColor

=>表单显示为透明。

现在还将Form.DoubleBuffered属性设置为true

=>表单不再显示透明

为什么要这样?有什么解决办法来获得双缓冲透明表单吗?

EN

回答 2

Stack Overflow用户

发布于 2011-09-08 16:29:26

您不需要担心TransparencyKey和BackColor属性的透明性和双缓冲才能工作。将它们保留为默认值,然后再试一次。然后,如果你真的希望你的背景色是黑色,试着应用这个值。

以下代码段在我的计算机上生成一个50%的透明窗口:

代码语言:javascript
复制
using System;
using System.Drawing;
using System.Windows.Forms;

public partial class Form1 : Form {
    public Form1() {
        InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e) {
        DoubleBuffered = true;
        AllowTransparency = true;
        BackColor = Color.Black;
        Opacity = .5;
    }
}
票数 1
EN

Stack Overflow用户

发布于 2011-09-08 16:30:13

我刚刚试过你的步骤来复制,这对我来说很好。也许这是一个.Net版本/ OS版本/图形物理学的问题。

作为参考,我正在测试.

  • VS 2010
  • Windows 7 (32位)
  • .Net 4
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7351368

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档