winform创建不规则窗体的方法
本文实例讲述了winform创建不规则窗体的方法。分享给大家供大家参考。具体如下:
usingSystem; usingSystem.Collections.Generic; usingSystem.ComponentModel; usingSystem.Data; usingSystem.Drawing; usingSystem.Text; usingSystem.Windows.Forms; usingMicrosoft.Win32; usingSystem.Drawing.Drawing2D; usingSystem.IO; namespaceWindowsApplication2 { publicpartialclassForm3:Form { publicForm3() { InitializeComponent(); this.FormBorderStyle=FormBorderStyle.None; ColorConvertercolorconvert=newColorConverter(); this.BackColor=(Color)colorconvert.ConvertFromString("window"); this.TransparencyKey=(Color)colorconvert.ConvertFromString("window"); } privatevoidbutton1_Click(objectsender,EventArgse) { this.Close(); } protectedoverridevoidOnPaint(PaintEventArgse) { Graphicsg=e.Graphics; RectanglemainRect=newRectangle(0,0,695,278); RegionmainRegion=newRegion(mainRect); e.Graphics.SetClip(mainRegion,CombineMode.Replace); //设置窗体的外观形式 Pointpoint1=newPoint(0,32); Pointpoint2=newPoint(9,20); Pointpoint3=newPoint(21,13); Pointpoint4=newPoint(34,9); //创建一个以点为元素的数组 Point[]curvePoints={point1,point2,point3,point4}; //创建一个GraphicsPath对象并添加一条曲线 GraphicsPathgPath=newGraphicsPath(); gPath.AddCurve(curvePoints,0,3,0.8f); gPath.AddLine(36,9,378,9); point1.X=378;point1.Y=9; point2.X=387;point2.Y=5; point3.X=394;point3.Y=0; Point[]curvePoints2={point1,point2,point3}; gPath.AddCurve(curvePoints2,0,2,0.8f); gPath.AddLine(394,0,0,0); Regionrg=newRegion(gPath); e.Graphics.ExcludeClip(rg); //可以为任意图片 stringstr=Directory.GetCurrentDirectory()+"\\2.png"; Imageimg=Image.FromFile(str); e.Graphics.DrawImage(img,0,0,695,278); //重设剪切好的区域 e.Graphics.ResetClip(); } } }
希望本文所述对大家的C#程序设计有所帮助。