vb.net 窗口控件的制作
把你的控件 继承Panel类,而不要集成UserControl类。
成都创新互联专注于湖州企业网站建设,响应式网站,购物商城网站建设。湖州网站建设公司,为湖州等地区提供建站服务。全流程定制网站开发,专业设计,全程项目跟踪,成都创新互联专业和态度为您提供的服务
你可以在集成Panel后,往Panel里面加一些你自己的方法或Control来实现你需要的功能。向里面拖控件的功能则由Panel来控制,你自己就不用管了。
初学编程者,一直有个疑问:VB中的控件是怎么编写的呢
嗯也是通过代码进行写的。相当于他是通过自己编写的一个窗口一样,通过继承下来的。可以继承各个的特点而形成了各色的控件,还可以通过控件而组合更强大的控制或者插件。
VB.net程序开发的时候。界面开发所有的控件位置都是手动的方式用对齐来确定位置吗?
有两种解决方法
在可视化编程中,控件属性里的位置一栏可以设置绝对定位或相对定位,大小可以设置固定大小或相对大小。当设置成相对窗口改变时就能根据窗口大小改变控件位置和大小,但是这种方法只能按百分比改变控件大小和位置,不能大幅改变。
在代码里改变,窗口改变大小时主程序里有相应的监听回调方法,在那个方法中可以根据窗口不同的大小设置各个控件的大小和位置,这种方法更自由更全面,还可以设置控件的其他属性。
VB.net 如何编写用户控件?
Public Class UserControl1
#Region "变量"
Dim Down_Color As Color = Color.Blue
Dim UP_Color As Color = Color.Gray
Dim Mode As Short = 0
Dim flag As Boolean
Dim offset_X As Integer
Dim offset_Y As Integer
Dim Mouse_P As Point
#End Region
#Region "属性"
'按下颜色
Public Property _DownColor As Color
Get
Return Down_Color
End Get
Set(ByVal value As Color)
Down_Color = value
End Set
End Property
'弹起颜色
Public Property _UpColor As Color
Get
Return UP_Color
End Get
Set(ByVal value As Color)
UP_Color = value
End Set
End Property
'滑动模式 0-横 1-竖
Public Property _Mode As Short
Get
Return Mode
End Get
Set(ByVal value As Short)
Mode = value
End Set
End Property
#End Region
Private Sub UserControl1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Me.BackColor = UP_Color
End Sub
'鼠标按下
Private Sub UserControl1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseDown
Me.BackColor = Down_Color
Mouse_P = e.Location
flag = True
End Sub
'鼠标移动
Private Sub UserControl1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove
If flag = False Then Exit Sub
Select Case Mode
Case 0 '横向·
offset_X = e.X - Mouse_P.X
If Me.Location.X + offset_X + Me.Width = Me.ParentForm.Width Or Me.Location.X + offset_X = 0 Then
flag = False
Else
Me.Location = New Point(Me.Location.X + offset_X, Me.Location.Y)
End If
Case 1 '竖向·
offset_Y = e.Y - Mouse_P.Y
If Me.Location.Y + offset_Y + Me.Height + 30 = Me.ParentForm.Height Or Me.Location.Y + offset_Y = 0 Then
flag = False
Else
Me.Location = New Point(Me.Location.X, Me.Location.Y + offset_Y)
End If
End Select
End Sub
'鼠标弹起
Private Sub UserControl1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseUp
Me.BackColor = UP_Color
flag = False
End Sub
End Class
VB.NET 如何做 控件
用vs.net创建控件项目,其他的和vb类似...
新建项目-windows 窗体控件库
分享文章:vb.net控件开发,vb框架控件
文章源于:http://scpingwu.com/article/hcdeih.html