解析C#中如何把控件的边框角画为圆弧

以下是对C#中把控件的边框角画为圆弧的实现代码进行了介绍,需要的朋友可以参考下
 
复制代码 代码如下:

private void Draw(Graphics graphics, Control control)
        {
            float X = float.Parse(control.Width.ToString()) - 1;
            float Y = float.Parse(control.Height.ToString()) - 1;
            PointF[] pointfs = {
                new PointF(2,     0),
                new PointF(X-2,   0),
                new PointF(X-1,   1),
                new PointF(X,     2),
                new PointF(X,     Y-2),
                new PointF(X-1,   Y-1),
                new PointF(X-2,   Y),
                new PointF(2,     Y),
                new PointF(1,     Y-1),
                new PointF(0,     Y-2),
                new PointF(0,     2),
                new PointF(1,     1)
                };

            GraphicsPath path = new GraphicsPath();
            path.AddLines(pointfs);

            Pen pen = new Pen(Color.FromArgb(150, Color.Blue), 1);
            pen.DashStyle = DashStyle.Solid;
            graphics.DrawPath(pen, path);
        }

首先要把控件注册一个事件:控件名称.Paint+=事件名称,然后把以上函数进行传参,如:Draw(e.Graphics, this.control);

时间: 2024-10-29 21:29:45

解析C#中如何把控件的边框角画为圆弧的相关文章

mfc-用MFC写一个程序登陆到学校教务处,把成绩那个页面解析到自己的列表控件中

问题描述 用MFC写一个程序登陆到学校教务处,把成绩那个页面解析到自己的列表控件中 我想用MFC写一个程序登陆到学校教务处,把成绩那个页面解析到自己的列表控件中,有没有大神这方面的资料,或者有类似的源代码,给出一点点建议也好-- 解决方案 先用HTML View获取网页内容,再分析内容得到自己想要的信息放到控件中 解决方案二: 发送http请求,winhttp.获取内容.然后解析.再插入ListCtrl. SetItemText

VB中使用lead控件加载jpg图片报错

问题描述 VB中使用lead控件加载jpg图片报错 调用LEAD1.BitmapDataPath = "111.jpg"时报错,换成111.bmp就没有问题,这种现象其他电脑没有,是什么问题 解决方案 这个不好说,你的图片没法解析,建议先转换成标准的位图格式再加载.

asp.net中在repeater中嵌套RadioButtonList控件

问题描述 asp.net中在repeater中嵌套RadioButtonList控件 asp.net中在repeater中嵌套RadioButtonList控件,例如一道题目,四个选项,如何绑定RadioButtonList的值,如何获取RadioButtonList被选中的值 解决方案 http://stackoverflow.com/questions/11077534/asp-net-radiobuttonlist-in-repeater 解决方案二: asp.net Repeater嵌套

LiteralControl ASP.NET中的另类控件_实用技巧

首先看一个aspx文件里的部分内容: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head id="

C++ Builder中如何保持控件的位置及大小

C++ Builder/Delphi是Inprise(原Borland)公司广受欢迎的可视化C++/Pascal开发工具,利用它可极大地加快应用程序的开发速度.但是,也正因为其是可视化编程工具,将控件拖放到Form后,控件的位置就固定死了.随着Form的大小或屏幕分辨率的改变,控件和Form本身的位置往往变得非常混乱.本文将介绍一些正确定位控件及Form的方法. 利用OnResize事件改变控件位置及大小 C++ Builder/Delphi中的Form控件有一个OnResize事件,Form的

Asp.Net中使用Highcharts控件X轴的categories数据一多会被截断

问题描述 Asp.Net中使用Highcharts控件X轴的categories数据一多会被截断 xAxis: { tickmarkPlacement: ""on"" type: 'datetime' tickInterval: [<%=num %>] categories: [<%=lastModifyTime %>] } xAxis中 categories数据会被截断的问题怎么解决 解决方案 ASP.NET中通过WebService获取数

重写UITableViewCell子类中属性的setter方法来实现隐藏或显示该cell中的某些控件

重写UITableViewCell子类中属性的setter方法来实现隐藏或显示该cell中的某些控件 为什么会需要这样子的一种方法来实现隐藏或者显示一个cell中的某些控件呢? 其实,隐藏cell中某些控件可以直接在tableView:cellForRowAtIndexPath:方法中直接实现,我们需要判断外部变量比如bool值来决定是否显示这个控件,但需要额外的代码写在tableView:cellForRowAtIndexPath:方法当中,如果我们把bool值传递给该cell让其自己判断是否

在 C++ Builder中利用串行通信控件编程

摘要:串口是常用的计算机与外部串行设备之间的数据传输通道,由于串行通信方便易行,所以应用广泛.本文介绍了在C++ Builder中如何利用串行通信控件进行串行通信编程. 一.引言 目前,在用计算机进行数据传输时,常用的是串行通信方式.用C++ Builder来编写串行通信程序时,可以调用Windows API函数,也可以利用VB中的MSComm控件. 利用 API函数编写实际应用程序时,往往要考虑多线程的问题,这样编出来的程序不但十分庞大,而且结构比较复杂,继承性差,维护困难.但是使用串行通信控

创建可编辑的xml文档(之五)执行中的treeview 控件

treeview|xml|创建|控件|执行 执行中的treeview 控件  为了更完美,列表4包含了VB.NET version, or C# version 两个版本的最终treevie 控件.为了更容易使用,我重新定义了结构和代码.同时增加了KeyDown 控制来支持一些默认的快捷键例如:Control-N (新建), F2 (编辑), 和DEL (删除).  这里好象不必附加任何事件,因此最终的api 包含一个方法和八个属性,他们在表1中列出来了,他们大多数都是简单的标志,或者默认的开关