说明:工程中用到的自定义控件,数目不定,但按一定排列顺序(纵向或横向)在Panel容器上加载,其间涉及到滚动条的使用。
Public Structure ItemPanelParam'自定义结构体 用来描述控件及容器的一些视觉参数
Dim IsRowFirst As Boolean'确定是按行排列优先还是按列排列优先,True为按行排列优先。
Dim IsAutoScroll As Boolean' 确定是否使用Panel的AuotScroll属性,若使用则对其控制度降低。
Dim ItemCount As Int32' 存储当前需要显示的自定义控件(Item)的数目
Dim Rows As Int32 '通知显示区域(Panel)可以显示的行数目
Dim Cols As Int32'通知显示区域(Panel)可以显示的列数目
Dim ItemWidth As Int32'存储自定义控件的宽度
Dim ItemHeight As Int32' 存储自定义控件的高度
Dim XMargin As Int32' 存储行内相邻自定义控件的间距宽度
Dim YMargin As Int32' 存储列内相邻自定义控件的间距高度
End Structure
Dim IPP As ItemPanelParam ' 当前窗体的视觉参数
Dim VSBar As New VScrollBar' 垂直滚动条,当panel的AuotScroll属性为false时可能使用
Dim HSBar As New HScrollBar'水平滚动条,当panel的AuotScroll属性为false时可能使用
Dim arrItem As New ArrayList ' 存储自定义控件时控件数组列表
Dim TargeItemIndex As Int32 = 0 ' Using for the Display of Items
Private Sub InitialIPP()
'//初始化IPP, 每一个目的程序都要初始化一次
IPP.IsRowFirst = chkIsRowFirst.Checked
IPP.IsAutoScroll = chkIsAutoScroll.Checked
IPP.ItemCount = NumUpDown.Value
IPP.Rows = 2
IPP.Cols = 5
IPP.ItemWidth = 136
IPP.ItemHeight = 200
IPP.XMargin = 8
IPP.YMargin = 8
End Sub