winform創(chuàng)建不規(guī)則窗體的方法
更新時間:2015年09月07日 15:03:05 作者:我心依舊
這篇文章主要介紹了winform創(chuàng)建不規(guī)則窗體的方法,涉及C#窗體創(chuàng)建的相關(guān)參數(shù)設(shè)置技巧,非常具有實用價值,需要的朋友可以參考下
本文實例講述了winform創(chuàng)建不規(guī)則窗體的方法。分享給大家供大家參考。具體如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Microsoft.Win32;
using System.Drawing.Drawing2D;
using System.IO;
namespace WindowsApplication2
{
public partial class Form3 : Form
{
public Form3()
{
InitializeComponent();
this.FormBorderStyle = FormBorderStyle.None;
ColorConverter colorconvert = new ColorConverter();
this.BackColor = (Color)colorconvert.ConvertFromString("window");
this.TransparencyKey = (Color)colorconvert.ConvertFromString("window");
}
private void button1_Click(object sender, EventArgs e)
{
this.Close();
}
protected override void OnPaint(PaintEventArgs e)
{
Graphics g = e.Graphics;
Rectangle mainRect = new Rectangle(0, 0, 695, 278);
Region mainRegion = new Region(mainRect);
e.Graphics.SetClip(mainRegion, CombineMode.Replace);
//設(shè)置窗體的外觀形式
Point point1 = new Point(0, 32);
Point point2 = new Point(9, 20);
Point point3 = new Point(21, 13);
Point point4 = new Point(34, 9);
// 創(chuàng)建一個以點為元素的數(shù)組
Point[] curvePoints = { point1, point2, point3, point4 };
// 創(chuàng)建一個GraphicsPath 對象并添加一條曲線
GraphicsPath gPath = new GraphicsPath();
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);
Region rg = new Region(gPath);
e.Graphics.ExcludeClip(rg);
//可以為任意圖片
string str = Directory.GetCurrentDirectory() + "\\2.png";
Image img = Image.FromFile(str);
e.Graphics.DrawImage(img, 0, 0, 695, 278);
// 重設(shè)剪切好的區(qū)域
e.Graphics.ResetClip();
}
}
}
希望本文所述對大家的C#程序設(shè)計有所幫助。
您可能感興趣的文章:
相關(guān)文章
利用Distinct()內(nèi)置方法對List集合的去重問題詳解
這篇文章主要給大家介紹了關(guān)于利用Distinct()內(nèi)置方法對List集合的去重問題的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧2019-06-06
C#使?XmlReader和XmlWriter操作XML?件
這篇文章介紹了C#使?XmlReader和XmlWriter操作XML?件的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-06-06
C# Winfrom實現(xiàn)Skyline畫直線功能的示例代碼
這篇文章主要介紹了C# Winfrom實現(xiàn)Skyline畫直線功能的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-12-12

