如下所示:
oPath.AddClosedCurve(New?Point()?{New?Point(0,?sender.Height?/?p_1),?New?Point(sender.Width?/?p_1,?0),?New?Point(sender.Width?-?sender.Width?/?p_1,?0),?New?Point(sender.Width,?sender.Height?/?p_1),?New?Point(sender.Width,?sender.Height?-?sender.Height?/?p_1),?New?Point(sender.Width?-?sender.Width?/?p_1,?sender.Height),?_
sender.Region?=?New?Region(oPath)
End?Sub
Private?Sub?Form1_Load(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?MyBase.Load
(1) Appearance属性
设置或返回窗体前景颜色和背景颜色.代码设置如下:
Form1. BackColor=vbcolor
Form1. ForeColor=vbcolor
该属性是设置窗体的边界类型代码设置如下:
Form1.BorderStyle=value
各个值的含义如下:
0- None窗体无边框.
①.- Fixed Single 固定边框,无最大化和最小化按钮,窗体运行时不可变.
扩展资料
类模块可以创建自定义的类,该类包括自己的属性、方法和事件.自定义的类相当于一个没有实体的控件.
比如一个命令按钮,是VB系统中已经定义好的类,它具有自己的属性、方法和事件,它也有实体.而类模块创建的类除了没有实体外,其余性质与控件类似.类模块在进阶教程中暂不做深入介绍.
注意:在代码区顶部,声明变量a和变量b.变量a使用public关键字声明:其表示全局变量,可以在本工程内所有窗体模块、标准模块、类模块中使用.变量b使用dim关键字声明:
其表示模块级变量,仅在本模块中使用.
代码:
Public?Class?Form1
'*********************************************************************?
'如有疑问或好的建议请联系我,大家一起进步??
'*********************************************************************??
'绘制圆角矩形函数
rect.Offset(-1,?-1)
Dim?RoundRect?As?New?Rectangle(rect.Location,?New?Size(radius?-?1,?radius?-?1))
RoundRect.X?=?rect.Right?-?radius?'右上角
RoundRect.Y?=?rect.Bottom?-?radius?'右下角
RoundRect.X?=?rect.Left???'左下角
path.CloseFigure()
Return?path
End?Function
'绘制矩形
Private?Sub?DrawingRect()
Dim?g?As?Graphics?=?Me.CreateGraphics
Dim?Hei?As?Integer?=?Me.Height
Dim?Wid?As?Integer?=?Me.Width
'矩形的位置和长宽随着窗体的变化而改变
'?g.DrawRectangle(Pen,?Rec)
'清楚现有的矩形
g.Clear(Me.BackColor)
Private?Sub?Form1_Paint(ByVal?sender?As?System.Object,?ByVal?e?As?System.Windows.Forms.PaintEventArgs)?Handles?MyBase.Paint
DrawingRect()
Private?Sub?Form1_SizeChanged(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?MyBase.SizeChanged
Me.Invalidate()?'此函数可引发Paint事件
End?Class
效果截图:
原窗口:
缩小后:
你说的是GDI+里的方法吗?
统一的方法如何实现椭圆、圆的呢?其实是用椭圆、圆的外切矩形来表示的.椭圆跟圆的唯一区别是它们外切矩形的长宽比不同,圆是一个正方形,椭圆是矩形,而且椭圆需要考虑有可能画转了角度的情况的椭圆,长轴与x轴是有特定角度的.
花了二十分钟给你写了代码,已测试.建议学习并使用System.Drawing绘制.
主要是掌握Graphics.FillRectangle和DrawString的使用.
Imports?System.Drawing
Public?Class?进度条UI
Public?文字格式?As?StringFormat?=?New?StringFormat()?With
{.Alignment?=?StringAlignment.Center,?.LineAlignment?=?StringAlignment.Center}
'''?summary
'''?绘制指定进度的图像.
'''?当进度变化时调用一次本方法,建议将创建的Graphics对象保存到变量而不要重复创建..
'''?/summary
'''?param?name="控件"绘制到此控件的工作区/param
'''?param?name="g"绘制到控件的Graphics对象,例如?Button1.CreateGraphics()/param
Public?Sub?绘制(ByRef?控件?As?Control,?ByRef?g?As?Graphics,?ByVal?进度?As?Double)
Dim?矩形?=?控件.ClientRectangle?'获取控件的工作区矩形
Dim?下面高度?=?CInt(矩形.Height?*?进度)?'获取下面颜色块的高度
Dim?中间位置?=?矩形.Top?+?矩形.Height?-?下面高度?'获取中间分界线的Y坐标
Dim?上矩形?=?New?Rectangle(矩形.X,?矩形.Y,?矩形.Width,?矩形.Height?-?下面高度)
Dim?下矩形?=?New?Rectangle(矩形.X,?中间位置,?矩形.Width,?下面高度)
g.FillRectangle(上面笔刷,?上矩形)
g.FillRectangle(下面笔刷,?下矩形)
'绘制文字
Dim?文字?As?String?=?String.Format("{0:0.00}%",?进度?*?100)
g.DrawString(文字,?字体,?文字笔,?矩形,?文字格式)
下面是Form1窗体的代码:添加一个Button1和Timer1控件,将Button1尺寸拖大点
Public?g?As?Graphics
Public?进度条UI?As?New?进度条UI
Public?进度?As?Double
Private?Sub?Button1_Click(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?Button1.Click
g?=?Button1.CreateGraphics()
Timer1.Enabled?=?Not?Timer1.Enabled
Private?Sub?Timer1_Tick(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?Timer1.Tick
进度?+=?0.01
进度条UI.绘制(Button1,?g,?进度)
提个思路:使用Picture控件或Label控件,通过代码在控件里绘图想要的图形,可以试试.
以上就是土嘎嘎小编为大家整理的vb.net圆角矩形相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!