WinForm绘制圆角的方法

本文实例讲述了WinForm绘制圆角的方法。分享给大家供大家参考。具体实现方法如下:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using System.Drawing.Drawing2D;
namespace AppStartSample
{
 public partial class Form3 : Form
 {
  public Form3()
  {
   InitializeComponent();
  }
  private void button1_Click(object sender, EventArgs e)
  {
  }
  private void button2_Click(object sender, EventArgs e)
  {
  }
  public void SetWindowRegion()
  {
   System.Drawing.Drawing2D.GraphicsPath FormPath;
   FormPath = new System.Drawing.Drawing2D.GraphicsPath();
   Rectangle rect = new Rectangle(0, 22, this.Width, this.Height - 22);//
   FormPath = GetRoundedRectPath(rect, 30);
   this.Region = new Region(FormPath);
  }
  private GraphicsPath GetRoundedRectPath(Rectangle rect, int radius)
  {
   int diameter = radius;
   Rectangle arcRect = new Rectangle(rect.Location, new Size(diameter, diameter));
   GraphicsPath path = new GraphicsPath();
   // 左上角
   path.AddArc(arcRect, 180, 90);
   // 右上角
   arcRect.X = rect.Right - diameter;
   path.AddArc(arcRect, 270, 90);
   // 右下角
   arcRect.Y = rect.Bottom - 0;
   path.AddArc(arcRect, 0, 90);
   // 左下角
   arcRect.X = rect.Left;
   path.AddArc(arcRect, 90, 90);
   path.CloseFigure();
   return path;
  }
  protected override void OnResize(System.EventArgs e)
  {
   this.Region = null;
   SetWindowRegion();
  }
 }
}

希望本文所述对大家的C#程序设计有所帮助。

(0)

相关推荐

  • Android图片特效:黑白特效、圆角效果、高斯模糊

    1.黑白效果 复制代码 代码如下: /**     * 将彩色图转换为黑白图     *      * @param 位图     * @return 返回转换好的位图     */    public static Bitmap convertToBlackWhite(Bitmap bmp) {        int width = bmp.getWidth(); // 获取位图的宽        int height = bmp.getHeight(); // 获取位图的高 int[] pi

  • Winform窗体圆角设计代码

    网上看到的很多winform窗体圆角设计代码都比较累赘,这里分享一个少量代码就可以实现的圆角.主要运用了System.Drawing.Drawing2D. 效果图 代码如下 private void BeautiLoginForm_Paint(object sender, PaintEventArgs e) { Type(this, 25, 0.1); } private void Type(Control sender, int p_1, double p_2) { GraphicsPath

  • android 设置圆角图片实现代码

    复制代码 代码如下: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/layout" android:orientation="vertical" android:layout_wi

  • Javascript 圆角div的实现代码

    现在实现圆角普遍用图片来控制,这种方法有其优点(产生的圆角平滑). 但同时他也要求有吻合的图片,如果要动态的改变div的样式颜色则有些力不从心.还有就是用js来实现. 实现后的调用代码 如下 复制代码 代码如下: var objDiv = getRoundDiv.call(document,"solid 1px yellow","#dddddd") objDiv.Div.style.width="100px"; objDiv.Content.st

  • CSS+Jquery实现页面圆角框方法大全

    所以我就想用一个既方便调用又方便更新的方法来实现,结果如愿以偿.先将此技术点总结如下: 在此之前我也寻找过目前网络上最流行的做法的实现方案,大体共总结出7种方法,但是发现他们的方法多多少少都存在缺陷,后来我自己做出了我自己觉得满意的方法. 先看目前网络上最流行的7种做法: 1,无图片纯css圆角框 收录理由:兼容性强,不用图形 图一 特点: 1.不用任何图形,使用很多个div容器模拟出圆角效果. 2.兼容性:通杀所有浏览器 缺点: 1.构造这个圆角需要加入太多的无语义的标签,结构比较冗余. 2.

  • C# 开发圆角控件(窗体)的具体实现

    最近在做卡片视图的程序,要求将控件做成带有圆角的效果,下面是我在网上查找的资料,经过测试,确定可以实现功能.其中方法三既适应于控件,也适应于窗体. 先上传效果图: 方法一: 增加命名空间:using System.Drawing.Drawing2D;  添加方法如下:当然各角的点可根据需要确定. 复制代码 代码如下: private void Type(Control sender, int p_1, double p_2)        {            GraphicsPath oP

  • C#圆角窗体简单实现方法

    本文实例讲述了C#圆角窗体简单实现方法.分享给大家供大家参考.具体如下: public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Resize(object sender, EventArgs e) { Type(this, 25, 0.1); } private void Type(Control sender, int p_1, double p_2) {

  • android 实现圆角图片解决方案

    现在我们就来看看怎么样把图片的四角都变成圆形的,为什么要这样做那,如果要是这样界面就会非常的美观,下面我们就来看看代码吧. java代码: 复制代码 代码如下: public static Bitmap toRoundCorner(Bitmap bitmap, int pixels) { Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Config.ARGB_8888); Canvas canv

  • C#画圆角矩形的方法

    本文实例讲述了C#画圆角矩形的方法.分享给大家供大家参考.具体实现方法如下: protected void Page_Load(object sender, EventArgs e) { Bitmap bm = new Bitmap(800, 600); Graphics g = Graphics.FromImage(bm); g.FillRectangle(Brushes.White,new Rectangle(0,0,800,600)); FillRoundRectangle(g,Brush

  • Android中实现EditText圆角的方法

    一.在drawable下面添加xml文件rounded_editview.xml 复制代码 代码如下: <?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android"    android:shape="rectangle">    <solid andr

随机推荐