创建非矩形窗体
Posted feiyucha
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了创建非矩形窗体相关的知识,希望对你有一定的参考价值。
实现效果:
知识运用:
通过重写窗体的OnPaint方法 在其中对窗体进行重绘 并使用透明色将窗体设置为透明来实现
OnPaint方法: 用来从新绘制窗体图像
protected override void OnPaint(PaintEventArgs e) //painteventargs为Paint事件提供数据
Bitmap类的MakeTransparent方法: 使用指定颜色对位图进行透明
public void MakeTransparent(Color transparentColor) //transparentColor:Color结构 表是使之透明的颜色
this.BackColor = System.Drawing.SystemColors.Control;
this.TransparencyKey = System.Drawing.SystemColors.Control;
实现代码:
private void Form1_Load(object sender, EventArgs e) { bit = new Bitmap(Properties.Resources.bit);//从指定的图像初始化Bitmap对象 bit.MakeTransparent(Color.Black); //使用指定的颜色对Bitmap位图透明 } protected override void OnPaint(PaintEventArgs e) { e.Graphics.DrawImage(bit, new Point(0, 0)); //在窗体上绘制图片 }
以上是关于创建非矩形窗体的主要内容,如果未能解决你的问题,请参考以下文章
我想围绕窗体中的按钮控件画一个矩形,然后在矩形里填充图片或颜色,用API怎么做?高分