常用技巧之一
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
- 动态事件处理程序
Addhandler but.click , addressof chk_checkedChanged
- 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
- 将枚举类型添加到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
- 集合操作方法
//集合添加
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 Property
End Class
Public 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 Sub
End Class