比如我设置窗体的TransparencyKey透明色为Color.Black,按说所有黑色区域都会透明,显示出窗体下面的图像
但我Graphics g = this.CreateGraphics();
然后用g.Draw*****或者g.Fill****在窗体上画出来的黑色图形为什么无法透明?重设透明色或者用API设置透明色为黑色都没作用。我已确定不是颜色不正确的问题。
求解

解决方案 »

  1.   

    在Paint事件里面绘图,肯定是可以的        private void Form1_Paint(object sender, PaintEventArgs e)
            {
                e.Graphics.FillRectangle(Brushes.Black, 0, 0, 50, 50);
            }以上代码会让窗口左上角透明,先设置透明色为黑色
      

  2.   

    试试这种写法
    Color.FromArgb('透明度', 0, 0, 0)
      

  3.   

    1楼的方法不行,即使设置为UserPaint也不行。2楼的百分百透明的颜色画上去等于什么都没画
      

  4.   

     private void Form1_Load(object sender, EventArgs e)
            {
                this.TransparencyKey = Color.Black;
            }        protected override void OnPaint(PaintEventArgs e)
            {
                e.Graphics.FillRectangle(new SolidBrush(Color.Black), 0, 0, 50, 50);
                base.OnPaint(e);
            }谁说不可以的.