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)文章
C#通過(guò)接口與線程通信(捕獲線程狀態(tài))示例代碼
本文介紹C#通過(guò)接口與線程通信(捕獲線程狀態(tài)),并提供簡(jiǎn)單的示例代碼供參考2013-12-12利用Distinct()內(nèi)置方法對(duì)List集合的去重問(wèn)題詳解
這篇文章主要給大家介紹了關(guān)于利用Distinct()內(nèi)置方法對(duì)List集合的去重問(wèn)題的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06c#定時(shí)器和global實(shí)現(xiàn)自動(dòng)job示例
這篇文章主要介紹了c#定時(shí)器和global實(shí)現(xiàn)自動(dòng)job示例,大家參考使用吧2014-01-01C#彈出對(duì)話框確定或者取消執(zhí)行相應(yīng)操作的實(shí)例代碼
這篇文章主要介紹了C#彈出對(duì)話框確定或者取消執(zhí)行相應(yīng)操作的實(shí)例代碼,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12C#使?XmlReader和XmlWriter操作XML?件
這篇文章介紹了C#使?XmlReader和XmlWriter操作XML?件的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-06-06C# Winfrom實(shí)現(xiàn)Skyline畫直線功能的示例代碼
這篇文章主要介紹了C# Winfrom實(shí)現(xiàn)Skyline畫直線功能的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12C#測(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