如何在C#(WINDOWS)中实现不规则窗体设计?? 5
2个回答
展开全部
你在的Form1里面重写这个方法,这个例子是把窗体变成椭圆的。具体想变成自己想要的形状的话,建议你研究下C#图像处理的GraphicsPath类
protected override void OnPaint(PaintEventArgs e)
{
//椭圆
GraphicsPath shape = new GraphicsPath();
shape.AddEllipse(0, 0, this.Width, this.Height);
this.Region = new System.Drawing.Region(shape);
}
protected override void OnPaint(PaintEventArgs e)
{
//椭圆
GraphicsPath shape = new GraphicsPath();
shape.AddEllipse(0, 0, this.Width, this.Height);
this.Region = new System.Drawing.Region(shape);
}
追问
窗体的最终样子与我的窗体背景里的图片的形状相同,比如说背景图片中画的是一本书的形状,然后窗体最终的形状要与背景中的那本书相同,其他多余的部分全部对桌面透明。。。
追答
Bitmap bmp = new Bitmap(@"D:\IMG_0002.jpg");
Graphics myGraphics = e.Graphics;
myGraphics.DrawImage(bmp, 30, 30);
GraphicsPath shape = new GraphicsPath();
shape.AddEllipse(0, 0, this.Width, this.Height);
this.Region = new System.Drawing.Region(shape);
重写代码换成这个,加了个背景图,但是你想实现窗体形状跟图片的一样,还得通过GraphicsPath来自己画
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询