重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
如下所示:
站在用户的角度思考问题,与客户深入沟通,找到舞阳网站设计与舞阳网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站设计制作、网站制作、企业官网、英文网站、手机端网站、网站推广、申请域名、网络空间、企业邮箱。业务覆盖舞阳地区。
Private Sub Type(ByVal sender As Control, ByVal p_1 As Integer, ByVal p_2 As Double)
Dim oPath As New Drawing2D.GraphicsPath()
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), _
New Point(sender.Width / p_1, sender.Height), New Point(0, sender.Height - sender.Height / p_1)}, CSng(p_2))
sender.Region = New Region(oPath)
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Type(Me, 20, 0.1)
End Sub
设置Region属性:
Dim path As New System.Drawing.Drawing2D.GraphicsPath
path.AddEllipse(0, 0, 400, 300)
Region = New Region(path)
VB.NET没用过
VB6的话用form.circle方法画圆,圆的半径和圆点用form.width或者form.height乘以比例数来得到,然后在form_resize事件中重画圆就可以了
不知道和VB.NET差别大不大
VB.net
示例:
1.
窗体设置
边框模式
2.代码
Declare
Function
CreateRoundRectRgn
Lib
"gdi32"
Alias
"CreateRoundRectRgn"
(ByVal
X1
As
Int32,
ByVal
Y1
As
Int32,
ByVal
X2
As
Int32,
ByVal
Y2
As
Int32,
ByVal
X3
As
Int32,
ByVal
Y3
As
Int32)
As
Int32
Declare
Function
SetWindowRgn
Lib
"user32"
Alias
"SetWindowRgn"
(ByVal
hWnd
As
Int32,
ByVal
hRgn
As
Int32,
ByVal
bRedraw
As
Boolean)
As
Int32
‘GDI重绘API
Private
Sub
Form1_Load(ByVal
sender
As
Object,
ByVal
e
As
System.EventArgs)
Handles
MyBase.Load
Dim
r
As
Integer
=
CreateRoundRectRgn(0,
0,
Me.Width,
Me.Height,
20,
20)
'CreateRoundRectRgn参数([窗体左],[窗体顶],[窗体宽],[窗体高],[向左偏移
],[向
偏移
])
SetWindowRgn(Me.Handle,
r,
True)
End
Sub
可以使用onpaint事件进行重绘使combobox的是边框四个直角变成弧形。这里需要用到gdi+绘制的知识和onpait事件。窗体和combobox设置自动重绘为true即可。你可以参考下gdi的圆角绘制的知识的。这里很容易做到的。希望能帮到你。有疑问继续提问哈。