C#实现按钮透明,窗体透明的方法
2010-08-31 14:45
525 查看
例子一:实现PictureBox的透明化。
1.1 调用WinAPI的类
1.2在界面上重画PictrueBox(需要设置PictureBox为隐藏)
1.1 调用WinAPI的类
public class Pink { public static void DrawAlpha(Graphics gxBuffer, Image barImage, Rectangle barRect, byte transp) { using (Graphics gxSrc = Graphics.FromImage(barImage)) { IntPtr hdcDst = gxBuffer.GetHdc(); IntPtr hdcSrc = gxSrc.GetHdc(); BlendFunction blendFunction = new BlendFunction(); blendFunction.BlendOp = (byte)0; blendFunction.BlendFlags = (byte)0; blendFunction.SourceConstantAlpha = transp; blendFunction.AlphaFormat = (byte)0; AlphaBlend(hdcDst, barRect.Left, barRect.Top, barRect.Size.Width, barRect.Size.Height, hdcSrc, 0, 0, barImage.Width, barImage.Height, blendFunction); gxBuffer.ReleaseHdc(hdcDst); gxSrc.ReleaseHdc(hdcSrc); } } [DllImport("coredll.dll")] extern public static Int32 AlphaBlend(IntPtr hdcDest, Int32 xDest, Int32 yDest, Int32 cxDest, Int32 cyDest, IntPtr hdcSrc, Int32 xSrc, Int32 ySrc, Int32 cxSrc, Int32 cySrc, BlendFunction blendFunction); }
1.2在界面上重画PictrueBox(需要设置PictureBox为隐藏)
private void picboxZoomIn_Paint(object sender, PaintEventArgs e) { Bitmap bitmap = new Bitmap(@"/Program Files/Collecter/pic/zoomin.png"); Image image = Image.FromHbitmap(bitmap.GetHbitmap()); Rectangle rect=new Rectangle(0,0,30,30); Pink.DrawAlpha(e.Graphics, image, rect, 20); //e.Graphics.DrawImage(image, 30, 30); }
相关文章推荐
- C#透明窗体实现方法
- C#Winform 自定义透明按钮和单窗体模块化实现
- C# 透明窗体制作实现方法比较分析
- C# Winform实现捕获窗体最小化、最大化、关闭按钮事件的方法,可通过重写WndProc来实现
- C#透明窗体实现方法
- c# 实现透明窗体,透明图片,透明按钮
- C#实现窗体与子线程的交互的方法
- C#实现窗体圆角的一种方法
- C#实现基于加减按钮形式控制系统音量及静音的方法
- 【转载】C#实现主窗体工具栏上按钮两幅图片的交互效果
- 【C#/WPF】WPF应用程序,另一类Button按钮(图片)的实现方法。
- C#--第11周实验--任务3--设计一个窗体,窗体上有两个文本框,一个按钮,2个单选按钮--实现单击按钮后,根据单选按钮,将对应文本框中内容显示在标签。
- C#实现在Form里面内嵌dos窗体的方法
- [转自:https://www.cnblogs.com/dskin/p/4606293.html] C# Winform实现炫酷的透明动画界面 做过.NET Winform窗体美化的人应该都很熟悉U
- 禁用IE的后退按钮|显示网页已过期|几种语言的实现方法|c#|javascript|html
- C#透明窗体及按钮的效果浅析
- c# winform取消右上角关闭按钮的实现方法
- C# 透明窗体制作方法
- C# 透明窗体制作方法
- C#实现窗体淡入淡出效果的几种方法