private Image img=null;//声明字段

------------------------------

public frmLogin()
  {
   img=new Bitmap(@"img/Login.jpg");-//构造函数中定义图片
   oldp=new Point(0,0);
   //
   // Windows 窗体设计器支持所必需的
   //
   InitializeComponent();

//
   // TODO: 在 InitializeComponent 调用后添加任何构造函数代码
   //
  }

---------------------------------

//核心代码,在窗体的Paint事件中重新画窗体

GraphicsPath gp=new GraphicsPath();
   //topleft
   Point p1=new Point(0,10);
   Point p2=new Point(2,4);
   Point p3=new Point(4,2);
   Point p4=new Point(10,0);
   Point[] lpp={p1,p2,p3,p4};
   gp.AddCurve(lpp);
   p1.X=10;p1.Y=0;
   p2.X=0;p2.Y=0;
   p3.X=0;p3.Y=10;
   Point[] lppp={p1,p2,p3};
   gp.AddLines(lppp);

//topRight
   p1.X=300;p1.Y=10;
   p2.X=298;p2.Y=4;
   p3.X=296;p3.Y=2;
   p4.X=290;p4.Y=0;
   Point[] rpp={p1,p2,p3,p4};
   gp.AddCurve(rpp);
   p1.X=290;p1.Y=0;
   p2.X=300;p2.Y=0;
   p3.X=300;p3.Y=10;
   Point[] rppp={p1,p2,p3};
   gp.AddLines(rppp);

//endleft
   p1.X=0;p1.Y=190;
   p2.X=2;p2.Y=196;
   p3.X=4;p3.Y=198;
   p4.X=10;p4.Y=200;
   Point[] elpp={p1,p2,p3,p4};
   //gp.ClearMarkers();
   GraphicsPath egp=new GraphicsPath();
   egp.AddCurve(elpp);
   p1.X=10;p1.Y=200;
   p2.X=0;p2.Y=200;
   p3.X=0;p3.Y=190;
   Point[] elppp={p1,p2,p3};
   egp.AddLines(elppp);

//endRight
   p1.X=300;p1.Y=190;
   p2.X=298;p2.Y=196;
   p3.X=296;p3.Y=198;
   p4.X=290;p4.Y=200;
   Point[] erpp={p1,p2,p3,p4};
   egp.AddCurve(erpp);
   p1.X=290;p1.Y=200;
   p2.X=300;p2.Y=200;
   p3.X=300;p3.Y=190;
   Point[] erppp={p1,p2,p3};
   egp.AddLines(erppp);

//重新画
   Region rr=new Region(gp);
   Region err=new Region(egp);
   e.Graphics.ExcludeClip(rr);
   e.Graphics.ExcludeClip(err);
   e.Graphics.DrawImage(img,0,0,300,200);
   e.Graphics.ResetClip();   
                                                                                                      --阿东研究

转载于:https://www.cnblogs.com/wei1279/archive/2006/04/05/367199.html

WinForm中窗体重画成圆角矩形相关推荐

  1. 怎样使用css让矩形出现圆角,CSS中设置元素的圆角矩形

    圆角矩形介绍 在CSS中通过border-radius属性可以实现元素的圆角矩形. border-radius属性值一共有4个,左上.右上.左下.右下. border-radius属性值规则如下:第一 ...

  2. c# winform中窗体切换后释放及防止重复生成

    问题1:窗体切换后如何关闭,并释放资? c# winform中,2个窗体,form1和form2,互相切换的时候执行 this.Hide(); Form2 form2 = new Form2();fo ...

  3. C# WInForm中 窗体的this.width和this.height的属性值不能大于显示器的最大分辨率

    最近在做一个小项目的时候,发现在 1680x1050 分辨率显示器上写的代码,将窗体的宽度和高度 设置成了 1600×900,在高于1600×900的分辨率上缩放显示很正常, 而后转移到 分辨率低于 ...

  4. Android 中shape的使用(圆角矩形)

    一.在res/drawable文件夹下创建一个xml文件: <?xml version="1.0" encoding="utf-8"?> <! ...

  5. Android 中shape的使用(圆角矩形)

    一.在res/drawable文件夹下创建一个名为gradient_box的xml文件: 1 <?xml version="1.0" encoding="utf-8 ...

  6. C#Winform中窗体的美化

    前言 机房合作项目正在最近如火如荼的进行着,一个好看的界面是一个项目的基础,所以该怎样让我们项目的界面更好的美化一下呢,组长把这个活交给了我,我也就义不容辞的接下来了,在美化的过程中发现这个世界真的好 ...

  7. WinForm开发,窗体显示和窗体传值相关知识总结

    以前对WinForm窗体显示和窗体间传值了解不是很清楚 最近做了一些WinForm开发,把用到的相关知识整理如下 A.WinForm中窗体显示显示窗体可以有以下2种方法: Form.ShowDialo ...

  8. WinForm中Partial部分类的使用

    文章目录 1 WinForm中Partial部分类的使用 1.1 WinForm中Partial部分类的简要介绍 1 WinForm中Partial部分类的使用 1.1 WinForm中Partial ...

  9. winform php 交互,WinForm开发,窗体显示和窗体传值

    以前对WinForm窗体显示和窗体间传值了解不是很清楚 最近做了一些WinForm开发,把用到的相关知识整理如下 A.WinForm中窗体显示 显示窗体可以有以下2种方法: Form.ShowDial ...

  10. 如何使用Sketch绘制半个圆角矩形

    想要制作MacOS中Finder切换目录展示模式的效果: 那么如何实现左右两端选中时只有半个圆角矩形被填充的效果呢?问题的关键是要制作出半个圆角矩形. Sketch中绘制半个圆角矩形的步骤如下: 首先 ...

最新文章

  1. 灰度直方图均衡化及其实现
  2. 服务信息块协议 SMB(Server Message Block protocol)
  3. 【面向对象设计模式】 接口型模式 (一)
  4. 9.1 基于内容的推荐系统-机器学习笔记-斯坦福吴恩达教授
  5. TCP如何能正常关闭连接?
  6. 怎么在数据库服务器解压文件,数据库服务器9怎么解压
  7. 第八章 CTE 递归 及 分组汇总 高级部分(多维数据集)
  8. jsp中用java写标签id_jsp中自定义标签用法实例分析
  9. 学习写第一份在CSDN上的博客;
  10. ASP操作XML文件的主要方法和实现
  11. 打印准考证服务器异常显示,2020准考证打印30个常见问题汇总及解决办法
  12. SpringBoot 整合 Editormd(完整版)
  13. python VTK画3D方框
  14. win8/8.1改win7原版系统全部教程之先把驱动精灵万能网卡版存到U盘(2)
  15. 360全景拼接 opencv_GitHub - hellojiawa/AndroidPanoDemo: 使用Opencv全景照片拼接
  16. mysql别名引号与引用问题
  17. 【马克思主义基本原理概论】
  18. STW43NM60ND-ASEMI原厂代理意法MOS管STW43NM60ND
  19. springboot宴会预定平台毕业设计-附源码231718
  20. SAP/PP-40策略下SO不消耗PIR问题

热门文章

  1. linux-推荐两款好用的录屏软件
  2. Linux之ssh无密码登录
  3. 关于惠普hp服务器开机时F10菜单变成F10 Function Disabled的解决方法
  4. java基础语法day03
  5. 关于提高数据库查询效率的问题
  6. selenium webdriver显示等待时间
  7. 查看svn的版本(转载)
  8. hdu 1074 Doing Homework
  9. 基于http live streaming, 使用vlc + mediastreamsegmenter + apache 实现iOS视频直播
  10. 用vue-wechat-title为微信动态设置标题