C#窗体形状

来源:百度知道 编辑:UC知道 时间:2024/09/25 05:55:16
我知道可以把窗体的某一种颜色设置透明色,
它就隐形了但是你鼠标移动到隐形的部分它还是在的,焦点也是在这个窗体上而不是桌面;
有没有办法把设置透明色的部分扣去,让它不存在,
例如这种:
bit是什么

利用重绘GDI+,首先自己做一个图片,最好颜色辨别清楚。override onpaint事件重新绘制。

Bitmap bit;//忘了写了

public void cr(string stri)//绘图方法
{
this.Refresh();//刷新画布
Brush b = new SolidBrush(Color.SlateBlue);
Font f = new Font(this.Font.Name, 12, FontStyle.Underline);
Graphics gh = this.CreateGraphics();
gh.DrawString(stri, f, b, 100, this.Height - 60);
}

protected override void OnPaint(PaintEventArgs e)
{
Graphics g = this.CreateGraphics();
g.DrawImage((Image)bit,0,0);
base.OnPaint(e);
}

private void form_Load(object sender, EventArgs e)
{
bit = new Bitmap(Application .StartupPath + "\\image\\show.gif");
bit.MakeTransparent();
this.Location = new Point(Screen.PrimaryScreen .Working