日期:2014-05-17  浏览次数:20766 次

c# 有没有类似delphi 透明的Timage 控件
有一张图片分为a,b,c,d四个区域,我想实现点击图片中不同的区域可以弹出不同的窗口,在delphi中透明的Timage控件可以实现,不知道c#中有没有类似的方法?或者有其他更好的方法?
C#

------解决方案--------------------
参考http://www.cnblogs.com/chengxiaohui/articles/1921608.html
希望对您有所帮助
------解决方案--------------------
   你可以重写一个Panel,用透明颜色重绘控件,当然你可以扩充这个类,比如定义一个透明颜色属性,这样你就可以作相应的透明度设置了。
   用的时候记得设置控件尺寸

public class PanelEx : Panel
{
    public PanelEx()
    {
        BackColor = Color.Transparent;
        Paint += new PaintEventHandler(TransparentRender);
    }

    private void TransparentRender(object sender, PaintEventArgs e)
    {
        using (Brush brush = new SolidBrush(Color.FromArgb(0, 255, 255, 255)))
        {
            e.Graphics.FillRectangle(brush, e.ClipRectangle);
            e.Graphics.Flush();
        }
    }
}