本帖最后由 qq111314569 于 2012-02-16 01:11:51 编辑

解决方案 »

  1.   

    看到的都是使用TransparentcyKey的。
      

  2.   

    A lovely goldfish desktop pet (using alpha-PNG and GDI+)
      

  3.   

    控件的半透明弄不出来 不过假的半透明 倒是弄过
    比如 我以前 弄的那个 “半透明”的listview
    我在form上面放了一个pictrueBox作为窗体的 背景
    然后把listview放到pictrueBox上面 
    然后 用gdi去绘制pictrueBox上面被listview挡住的部分 
    然后将绘制出来的图形 填充一个半透明的黑色 
    最后把这个图 赋值给  listview 的backgroundimage属性
    这样看起来 就像是 半透明的了 
      

  4.   

    求"用gdi去绘制pictrueBox上面被listview挡住的部分"这部分的代码 
      

  5.   

    这篇文章能帮助你
    http://www.codeproject.com/Articles/26878/Making-Transparent-Controls-with-C-and-NET-3-5
      

  6.   

    private void button1_Click(object sender, EventArgs e) { 
                Bitmap b = new Bitmap(pictureBox2.Width, pictureBox2.Height);
                Graphics g = Graphics.FromImage(b);
                Rectangle origReg = new Rectangle(pictureBox2.Left, pictureBox2.Top, pictureBox2.Width, pictureBox2.Height);
                Rectangle destReg = new Rectangle(0, 0, pictureBox2.Width, pictureBox2.Height);
                g.DrawImage(pictureBox1.Image, destReg, origReg, GraphicsUnit.Pixel);
                pictureBox2.Image = b;
                g.Dispose();
            }用的pictruebox来做的实验、、主要是 以前就是用的picturebox来做的实验
    你还可以 把 那个 b 填充一个 黑色的半透明的效果
    SolidBrush brush = new SolidBrush(Color.FromArgb(125, Color.Black));
    g.FillRectangle(brush, 0, 0, pictureBox2.Width, pictureBox2.Height);
      

  7.   

    给力
    再请教两个问题
    1.能不能给制定颜色填充图片
    2.异形窗口的透明部分怎么让鼠标不穿透?我知道在win7下只要把BackColor和TransparencyKey弄成红色就可以实现,刚好是在网上看到你的发言才知道的,但有没有其他更好的办法?
      

  8.   

    第一个问题已经解决了,pictureBox有backgroundimage和Image,只要将png指定的地方挖掉,然后设置为backgroundimage,再将想要填充的图片设为Image,将BackColor改为Transparent,就可以到达我想要的效果,
    还有,backgroundimage竟然在Image前面,这点真是理解不能