winform創(chuàng)建不規(guī)則窗體的方法
本文實(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)建一個(gè)以點(diǎn)為元素的數(shù)組
Point[] curvePoints = { point1, point2, point3, point4 };
// 創(chuàng)建一個(gè)GraphicsPath 對(duì)象并添加一條曲線
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();
}
}
}
希望本文所述對(duì)大家的C#程序設(shè)計(jì)有所幫助。
- C#.net實(shí)現(xiàn)在Winform中從internet下載文件的方法
- WinForm導(dǎo)出文件為Word、Excel、文本文件的方法
- C# WinForm開發(fā)中使用XML配置文件實(shí)例
- WinForm實(shí)現(xiàn)讀取Resource中文件的方法
- c# winform讀取xml文件創(chuàng)建菜單的代碼
- C#數(shù)據(jù)導(dǎo)入/導(dǎo)出Excel文件及winForm導(dǎo)出Execl總結(jié)
- Winform窗體效果實(shí)例分析
- winform實(shí)現(xiàn)創(chuàng)建最前端窗體的方法
- WinForm窗體間傳值的方法
- winform實(shí)現(xiàn)拖動(dòng)文件到窗體上的方法
相關(guān)文章
利用Distinct()內(nèi)置方法對(duì)List集合的去重問題詳解
這篇文章主要給大家介紹了關(guān)于利用Distinct()內(nèi)置方法對(duì)List集合的去重問題的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06
c#定時(shí)器和global實(shí)現(xiàn)自動(dòng)job示例
這篇文章主要介紹了c#定時(shí)器和global實(shí)現(xiàn)自動(dòng)job示例,大家參考使用吧2014-01-01
C#彈出對(duì)話框確定或者取消執(zhí)行相應(yīng)操作的實(shí)例代碼
這篇文章主要介紹了C#彈出對(duì)話框確定或者取消執(zhí)行相應(yīng)操作的實(shí)例代碼,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12
C#使?XmlReader和XmlWriter操作XML?件
這篇文章介紹了C#使?XmlReader和XmlWriter操作XML?件的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-06-06
C# Winfrom實(shí)現(xiàn)Skyline畫直線功能的示例代碼
這篇文章主要介紹了C# Winfrom實(shí)現(xiàn)Skyline畫直線功能的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12
C#測(cè)量程序運(yùn)行時(shí)間及cpu使用時(shí)間實(shí)例方法
對(duì)一個(gè)服務(wù)器程序想統(tǒng)計(jì)每秒可以處理多少數(shù)據(jù)包,要如何做?答案是用處理數(shù)據(jù)包的總數(shù),除以累記處理數(shù)據(jù)包用的時(shí)間,下面我們看一個(gè)代碼實(shí)例就明白了2013-11-11

