VB.net中自定义控件的动态加载

来源:互联网 发布:c语言怎么无限循环 编辑:程序博客网 时间:2024/05/13 07:52

说明:工程中用到的自定义控件,数目不定,但按一定排列顺序(纵向或横向)在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

原创粉丝点击