Dim WithEvents T_PULS As New Timer

那该多好啊!!! 2017-06-22 09:16:43
请问一下,
Dim WithEvents T_PULS As New Timer 这是定义一个变量’ T_PULS为什么前面要加WithEvents

Private Sub T_PULS_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles T_PULS.Tick
D(120) = 0
T_PULS.Enabled = False
End Sub
...全文
180 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 1 楼 Runnerchin 的回复:
代码窗口有两个下拉框,其中一个下拉以后,会列出当前窗体上所有控件,另一个下拉以后会列出对应这个控件的事件。 你可以下拉一下控件列表看看,加了WithEvents 以后,这个列表里就会有这个控件。再删掉WithEvents看看这个列表,会发现这个控件就没有了。 定义控件的时候带上WithEvents,编辑器会为这个控件加上事件。
请问一下,如果定义了这样一个Dim WithEvents T_PULS As New Timer 然后 在T_PULS.Enabled = False 是不是表示这个程序里面所有的TIMER事件全部False 比如我有三个定时器,是不是这时候三个定义器全部都False
  • 打赏
  • 举报
回复
引用 4 楼 Runnerchin 的回复:
哪三个定时器?代码发出来。 T_PULS.Enabled = False 只对名字叫T_PULS的对象生效。
如果只对叫T_PULS的对象生效,为什么要声明一个这样的定时器了,不如直接从控件里用一个拖一个出来,就像TIMER1和TIMER2
  • 打赏
  • 举报
回复
引用 4 楼 Runnerchin 的回复:
哪三个定时器?代码发出来。 T_PULS.Enabled = False 只对名字叫T_PULS的对象生效。
嗯, 比如这个TIMER1 Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick 这里面是通讯用的程序 End Sub Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick Dim TT As String TT = HEX_to_BIN(DEC_to_HEX(D(5))) For I = 0 To Len(TT) - 1 If I <= 7 Then X(I) = Mid(TT, Len(TT) - I, 1) Else X(I + 2) = Mid(TT, Len(TT) - I, 1) End If Next 这里面也是很多通讯用的程序 End Sub
X-i-n 2017-07-04
  • 打赏
  • 举报
回复
哪三个定时器?代码发出来。 T_PULS.Enabled = False 只对名字叫T_PULS的对象生效。
赵4老师 2017-06-22
  • 打赏
  • 举报
回复
Dim 语句 声明变量并分配存储空间。 语法 Dim [WithEvents] varname[([subscripts])] [As [New] type] [, [WithEvents] varname[([subscripts])] [As [New] type]] . . . Dim 语句的语法包含下面部分: 部分 描述 WithEvents 可选的。关键字,说明 varname 是一个用来响应由 ActiveX 对象触发的事件的对象变量。只有在类模块中才是合法的。使用 WithEvents,可以声明任意个所需的单变量,但不能使用 WithEvents 创建数组。New 和 WithEvents 不能一起使用。 ……
X-i-n 2017-06-22
  • 打赏
  • 举报
回复
代码窗口有两个下拉框,其中一个下拉以后,会列出当前窗体上所有控件,另一个下拉以后会列出对应这个控件的事件。 你可以下拉一下控件列表看看,加了WithEvents 以后,这个列表里就会有这个控件。再删掉WithEvents看看这个列表,会发现这个控件就没有了。 定义控件的时候带上WithEvents,编辑器会为这个控件加上事件。
发现网上关于vbrichclient的教程比较少,但这个实在是好东西,实用性,稳定性都比VB自带的winsock好的多,多客户端不用winsock控件数组。 也不用在各窗体上放winsock,直接在模块中就能实现收发 下面直接上代码,窗体和文本钮、按钮大家自行拖放。要用到VB自带隐藏函数varptr()取内存指针(VbMsdn中没有这个函数,实际上很简单^^)。 VbRichClient5.0.38中包含sqlite3.9支持 上面共享中也包含VbRichClient5.0.38支持库 VbRichClient代替winsock 主要使用 cTCPServer cTCPClient cUDP '--------------------------------------------------------------------- '服务器端,代码最简化,要实现多客户端只要用数组存hsocket就可以 Option Explicit Dim WithEvents sv As cTCPServer Dim WithEvents udp1 As cUDP Dim cHsocket& Private Sub Form_Load() Set sv = New cTCPServer sv.Listen sv.GetHost("127.0.0.1"), 35912 Debug.Print sv.GetHost("") Set udp1 = New cUDP udp1.Bind "127.0.0.1", 5616 End Sub Private Sub sv_DataArrival(ByVal hSocket As Long, ByVal BytesTotal As Long, ByVal FirstBufferAfterOverflow As Boolean) Dim d() As Byte, s$ ReDim d(BytesTotal - 1) sv.GetData hSocket, VarPtr(d(0)), BytesTotal '★★关键代码 s = d Text2.Text = Text2.Text & s & vbCrLf Debug.Print "收到:" & BytesTotal End Sub Private Sub sv_TCPAccepted(ByVal hSocket As Long) cHsocket = hSocket Text1.Text = Text1.Text & sv.GetPeerHostIPAndPort(hSocket) & vbCrLf End Sub Private Sub sv_TCPDisConnect(ByVal hSocket As Long) Text3.Text = Text3.Text & sv.GetPeerHostIPAndPort(hSocket) & vbCrLf End Sub Private Sub udp1_NewDatagram(ByVal BytesTotal As Long, ByVal FirstBufferAfterOverflow As Boolean) Dim d() As Byte, s$ ReDim d(BytesTotal - 1) udp1.GetData VarPtr(d(0)), BytesTotal s = d Text2.Text = Text2.Text & s & vbCrLf End Sub '------------------------------------------------------- '客户端 Option Explicit Dim WithEvents cl As cTCPClient Dim WithEvents udp1 As cUDP Dim cid& Private Sub Command1_Click() cid = cl.Connect("QgB1", 35912) End Sub Private Sub Command2_Click() cl.Disconnect cid End Sub Private Sub Command3_Click() Dim b() As Byte b = Text1.Text cl.SendData cid, VarPtr(b(0)), UBound(b) + 1 End Sub Private Sub Command4_Click() Dim d() As Byte, s$ s = "yessss" d = s udp1.RemoteIP = "127.0.0.1" udp1.RemotePort = 5616 u

1,451

社区成员

发帖
与我相关
我的任务
社区描述
VB 控件
社区管理员
  • 控件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧