逛逛之泪(类)主题,主要分享我自己在狐表中使用的一些自定义类,适合有.net基础的朋友
起因:看到不可思议的虫的 [求助]全局代码中动态创建Timer
想法:1、任何平台都不肯包罗万象,有时候还是需要一些自己的扩展的,而自定义类是一个不错的选择。
2、此贴只是写了一个简单的自定义类来分享一下自己的实现思路,后续有时间的话,再分享一些实用的类
3、我只发表自己的观点,不参与辩论。
1.类代码:
Public Class XXX
'计时器对象
Private WithEvents _CtsTmr As System.Windows.Forms.Timer
'要执行的自定义函数名称
'用自定义函数,可以避免把类写死,增加复用性
Private _FunName As String
'自定义函数的参数对象数组,
'用对象数组,可以适用不同的场合,便于传递
Private _obj() As Object
Sub New(ByVal funName As String, Optional ByVal obj() As Object = Nothing)
_CtsTmr = New System.Windows.Forms.Timer '新建对象
_CtsTmr.Interval = 500 '默认的间隔
_FunName = funName '确定函数名称
_obj = obj ‘确定参数集
End Sub
Private Sub CtsTmr_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles _CtsTmr.Tick
'打包自定义函数的参数
'次序为:
'sender
'e
'……
Dim o() As Object = {sender, e} '固定的参数
If _obj IsNot Nothing Then '如果还用参数
Dim i As Integer = _obj.Length + 2 'o 是固定长度,就直接赋值了
ReDim Preserve o(i - 1) '重新定义数组长度
_obj.CopyTo(o, 2) '将参数数组复制到o数组
End If
'调用自定义函数,传递参数
Foxtable.Functions.Execute(_FunName, o) '调用自定义函数
End Sub
'返回计时器,用于各种设置
Public ReadOnly Property CtsTmr As System.Windows.Forms.Timer
Get
Return _CtsTmr
End Get
End Property
End Class
测试和调用:
[此贴子已经被作者于2015/10/4 11:02:42编辑过]