怎样制作透明控件??
现在需要一个240*320大小的控件,它应该是透明的,然后不管挪到哪都能显示这个透明控件后面的图像,然后我需要读这个240*320大小的控件上图像的RGB信息。
就是不知道怎么能弄出来透明的控件。。。
------解决方案--------------------namespace WindowsFormsApplication7
{
   public partial class UserControl1 : UserControl
   {
       public UserControl1()
       {
           InitializeComponent();
           SetStyle(ControlStyles.SupportsTransparentBackColor
             | ControlStyles.UserPaint
             | ControlStyles.AllPaintingInWmPaint
             | ControlStyles.Opaque, true);
           this.BackColor = Color.Transparent;
       }
       private Image img;
       public Image Image
       {
           get
           {
               return img;
           }
           set
           {
               img = value;
           }
       }
       protected override void OnLocationChanged(EventArgs e)
       {
           //base.OnLocationChanged(e);
           Visible = false;
           Visible = true;
       }
       protected override CreateParams CreateParams
       {
           get
           {
               //return base.CreateParams;
               CreateParams cp = base.CreateParams;
               cp.ExStyle |= 0x00000020; //WS_EX_TRANSPARENT  
               return cp;
           }
       }
       protected override void OnPaint(PaintEventArgs pe)
       {
           if (img != null)
           {
               base.OnPaint(pe);
               pe.Graphics.DrawImage(img, 0, 0);
           }
           else
           {
           }
       }
   }
}
自定义控件 ~~搞定!
------解决方案--------------------自定义控件
如
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;
       }
http://www.codeproject.com/KB/buttons/EasyTransparentBut.aspx
------解决方案--------------------看图的需求,我觉得你应该使用GDI+的CopyFromScreen
Using G as graphics=graphics.fromimage(panel1.backgroundimage)
G.copyfromscreen(.......
------解决方案--------------------该用alpha透明,RGB全透明会穿透,也就是  会点到后面的窗口去。