博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# winfrom下绘制圆角窗体
阅读量:6908 次
发布时间:2019-06-27

本文共 2684 字,大约阅读时间需要 8 分钟。

一、这是一个绘制圆角窗体的静态类:

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Windows.Forms;using System.Drawing;using System.Drawing.Drawing2D;namespace WindowsFormsApplication2{    public static class RoundFormDraw    {        public static void Paint(this object sender, PaintEventArgs e)        {            Form form = ((Form)sender);            List
list = new List
(); int width = form.Width; int height = form.Height; //左上 list.Add(new Point(0, 5)); list.Add(new Point(1, 5)); list.Add(new Point(1, 3)); list.Add(new Point(2, 3)); list.Add(new Point(2, 2)); list.Add(new Point(3, 2)); list.Add(new Point(3, 1)); list.Add(new Point(5, 1)); list.Add(new Point(5, 0)); //右上 list.Add(new Point(width - 5, 0)); list.Add(new Point(width - 5, 1)); list.Add(new Point(width - 3, 1)); list.Add(new Point(width - 3, 2)); list.Add(new Point(width - 2, 2)); list.Add(new Point(width - 2, 3)); list.Add(new Point(width - 1, 3)); list.Add(new Point(width - 1, 5)); list.Add(new Point(width - 0, 5)); //右下 list.Add(new Point(width - 0, height - 5)); list.Add(new Point(width - 1, height - 5)); list.Add(new Point(width - 1, height - 3)); list.Add(new Point(width - 2, height - 3)); list.Add(new Point(width - 2, height - 2)); list.Add(new Point(width - 3, height - 2)); list.Add(new Point(width - 3, height - 1)); list.Add(new Point(width - 5, height - 1)); list.Add(new Point(width - 5, height - 0)); //左下 list.Add(new Point(5, height - 0)); list.Add(new Point(5, height - 1)); list.Add(new Point(3, height - 1)); list.Add(new Point(3, height - 2)); list.Add(new Point(2, height - 2)); list.Add(new Point(2, height - 3)); list.Add(new Point(1, height - 3)); list.Add(new Point(1, height - 5)); list.Add(new Point(0, height - 5)); Point[] points = list.ToArray(); GraphicsPath shape = new GraphicsPath(); shape.AddPolygon(points); //将窗体的显示区域设为GraphicsPath的实例 form.Region = new System.Drawing.Region(shape); } }}

 

二、使用方法:

1.将窗体的FormBorderStyle属性设置为none

2.在窗体的Paint事件中添加如下代码

RoundFormDraw.Paint(sender,e);

RoundFormDraw就是上面的类

转载于:https://www.cnblogs.com/zyswtwang/archive/2012/08/02/2620043.html

你可能感兴趣的文章
网上安全方面的涉及到的方面(详解)
查看>>
UOJ #390. 【UNR #3】百鸽笼
查看>>
单向链表的建立与遍历
查看>>
Java Web整合开发(16) -- Struts 2.x 概述
查看>>
ArcSDE 直连问题
查看>>
WebSphere监控软件 TPV(Tivoli Performance Viewer)的缺点
查看>>
使用LoadRunner监控Apache的步骤 (转)
查看>>
netstat 命令详解
查看>>
python docopt模块详解
查看>>
第二阶段冲刺-05
查看>>
ConcurrentHashMap(转)
查看>>
数据库
查看>>
Python自学笔记-time模块(转)
查看>>
z-index
查看>>
Oracle表空间满处理方式
查看>>
js时间戳转化为日期格式,日期格式转化为时间戳
查看>>
android起源
查看>>
linux 标准输出和后台运行
查看>>
this
查看>>
nginx.conf
查看>>