常用技巧之一

来源:互联网 发布:彩虹授权商系统源码 编辑:程序博客网 时间:2024/05/21 06:43
 

常用技巧之一

 

1 ,  Listbox,Combox赋值:

               Dim  PstrValue() as string ={“value1”,”value2”,”value3”}

               Listbox.items.items.addrange(PstrValue)

         赋值另一种方法

             Public Function CmbAddSpeedUnit() As ArrayList

                     Dim MyArrayList As New ArrayList

                     MyArrayList.Add("m/s")

                     MyArrayList.Add("mm/s")

                     MyArrayList.Add("cm/s")

                     MyArrayList.Add("m/min")

                    Return MyArrayList

               End Function

  1. 动态事件处理程序

Addhandler  but.click , addressof  chk_checkedChanged

 

  1. Controls集合

Dim ctlcurent as control

Dim chkcurrent as system.windows.forms.checkbox

For each ctlcurrent in Panel.controls

If typeof(ctlcurrent) is system.windows.forms.checkbox then

   Chkcurrent =ctype(ctlcurrent, system.windows.forms.checkbox)

   Chkcurrent.checked =false

End if

Next

 

  1. 将枚举类型添加到list combox

      deftypeUnit为枚举类型

       cmb.Items.Clear()

        cmb.EndUpdate()

        cmb.DataSource = [Enum].GetValues(GetType(DefTypeUnit))

        cmb.BeginUpdate()

      Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

          ComboBox1.DataSource = ([Enum].GetValues(GetType(TestData)))

        ListBox1.DataSource = ([Enum].GetValues(GetType(TestData)))

      End Sub

      其它方法

      //将枚举添加到组合框

方法一:

[Enum].GetValues(GetType( 你的枚举类型))

如:

ComboBox2.DataSource = [Enum].GetValues(GetType(PictureBoxSizeMode))

方法2:

 

 [Enum].GetNames (GetType(你的枚举))

 ComboBox2.DataSource = [Enum].GetNames (GetType(PictureBoxSizeMode))

方法3:

        For Each i In [Enum].GetNames(GetType(ImageLayout))

            ComboBox1.Items.Add(i)

        Next

泛型实例

    Public myClass(Of T)

   Dim myVal As T

End Class

 在结构语句中:

    Public Structure myStruct(Of T)

   Dim myVal As T

End Structure

 

在Sub中:

    Public Sub callTestSub()

  testSub(Of )("A String")

  testSub(Of )(5)

End Sub

Public Sub testSub(Of T)(ByVal arg As T)

Dim a As T

a = arg

MessageBox.Show(a.ToString)

End Sub

  1. 集合操作方法

   //////集合添加

public Class MatType    Private _ID As String    Private _Name As String    Private _DefWareHouseID As String    Property ID() As String        Get            Return _ID        End Get        Set(ByVal value As String)            _ID = value        End Set    End Property    Property Name() As String        Get            Return _Name        End Get        Set(ByVal value As String)            _Name = value        End Set    End Property    Property DefWareHouseID() As String        Get            Return _DefWareHouseID        End Get        Set(ByVal value As String)            _DefWareHouseID = value        End Set    End PropertyEnd ClassPublic Class MatTypeCollection    Private col As Collection    Public Function Add(ByVal ID As String, ByVal Name As String) As MatType        Dim obj As New MatType        If IsNothing(col) Then            col = New Collection        End If        obj.ID = ID        obj.Name = Name         col.Add(obj, ID)        Add = obj        bj = Nothing    End Function    Public ReadOnly Property Count() As Integer        Get            Return col.Count        End Get    End Property    Public ReadOnly Property Item(ByVal vntIndexKey As VariantType) As WareHouse        Get            Return col(vntIndexKey)        End Get    End Property    Public Sub Remove(ByVal vntIndexKey As VariantType)        col.Remove(vntIndexKey)    End Sub    Public Sub Clear()        col.Clear()    End SubEnd Class