窗体不透明 要某个控件透明 比如picturebox
怎么做?最好有源码 谢谢!!!

解决方案 »

  1.   

    ((Bitmap)pictureBox1.Image).MakeTransparent();
    pictureBox1.Refresh(); 
      

  2.   

    楼上各位可能理解错我意思了
    我想让窗体不透明 PictureBox透明 也就是生成的窗体PictureBox区域 可以看见桌面上图标
      

  3.   

    如果是区域透明,那么可以设置一种背景色,窗体的透明色与该背景色相同即可.
    如果是区域半透明,那么需要UpdateLayeredWindow()屏幕合成
      

  4.   

    this.TransparencyKey = Color.Black
    PictureBox1.BackColor = Color.Black
      

  5.   

    [Quote=引用 6 楼 qqiuzaihui 的回复:]
    引用 1 楼 caozhy 的回复:
    ((Bitmap)pictureBox1.Image).MakeTransparent();
    pictureBox1.Refresh();同意
      

  6.   

    那就把Black换成argb(255,255,0,255),只要窗体上除了你要挖空的地方,其他地方没有的颜色.
      

  7.   

    一定要使用控件么? 如果只是将指定区域设置为透明的话, 可以使用Region:        private void Form1_Load(object sender, EventArgs e)
            {
                Rectangle r1 = new Rectangle(0, 0, this.Width, this.Height);
                Rectangle r2 = new Rectangle(100, 100, 200, 200);
                Region r = new Region(r1);
                r.Xor(r2);
                this.Region = r;
            }
    在窗体的Load事件中使用上面的代码就行了.
      

  8.   

    首先先吧窗体的TransparencyKey 设置成Transparent  【白色】
    然后 把PictureBox1的背景色也设置成Transparen   pictureBox1.BackColor=Color.Transparent如果这个pictureBox1上有图片还要透明,,
    Bitmap bp = new Bitmap("图片路径");
    bp.MakeTransparent(Color.Transparent);
    this.pictureBox1.Image = bp这样都可以透明了