回 帖 发 新 帖 刷新版面

主题:为什么不显示数据,我把程序改简单了,再帮我想想

Dim Y As Long, z As Long
Private Sub Command1_Click()
  Y = Val(Text2.Text)
  z = Y * 60
  Timer1.Enabled = True
  Form1.Caption = "现在是" + Text3.Text
End Sub
Private Sub Command2_Click()
  Unload Me
End Sub
Private Sub Timer1_Timer()
  z = z - 1
  Text3.Text = z
End Sub
Private Sub Form_Load()
  Timer1.Enabled = False
End Sub
我现在把程序改的简单了一些,只要他能在标题中显示,在托盘上也应该能显示。现在请老大再帮我想想。

回复列表 (共8个回复)

沙发

怎么没人为我解答?到底是哪里出了问题?我的脑袋都快想炸了

板凳

这个程序的问题出在哪里,请大家帮我解答

3 楼

托盘,我没有用过。

4 楼

虽然没结果,但是还是谢谢你帮我顶了一下

5 楼

[quote]
   With nfIconData
      .hWnd = Me.hWnd
      .uID = Me.Icon
      .uFlags = NIF_ICON Or NIF_MESSAGE Or NIF_TIP
      .uCallbackMessage = WM_MOUSEMOVE
      .hIcon = Me.Icon.Handle
      .szTip = "现在是" + Text3.Text & vbNullChar
      .cbSize = Len(nfIconData)
    End With
      [/quote]
这部分代码移到Timer1_Timer()事件的
[quote]
Text3.Text = z
[/quote]
后面试一试。

我的理由:
当你点击command1时,timer1才开始启动,此时text3.text我估计是 空值 或者 60 * val(text2.text),因为command1_click事件只发生一次,除非你在点击一次;而timer1_timer事件中 z 和 text1.text  的值改变后并不激发command的click事件

6 楼

不行,我觉得这个问题应该出在text3.text上,
Dim Y As Long, z As Long
Private Sub Command1_Click()
  Y = Val(Text2.Text)
  z = Y * 60
  Timer1.Enabled = True
  Form1.Caption = "现在是" + Text3.Text
End Sub
Private Sub Command2_Click()
  Unload Me
End Sub
Private Sub Timer1_Timer()
  z = z - 1
  Text3.Text = z
End Sub
Private Sub Form_Load()
  Timer1.Enabled = False
End Sub
我现在把程序改的简单了一些,只要他能在标题中显示,在托盘上也应该能显示。现在请老大再帮我想想。

7 楼

Form1.Caption = "现在是" + Text3.Text放到Private Sub Timer1_Timer()
里面,Private Sub Timer1_Timer()
  z = z - 1
  Text3.Text = z
Form1.Caption = "现在是" + Text3.Text
End Sub

8 楼

同意7楼
理由:你要显示的内容text3.text是在变化的,Form1.Caption = "现在是" + Text3.Text显示的内容仅仅是你在点击command1时的text3.text,只有放在timer1_timer事件中才能保证text3.text放生变化时Form1.Caption的内容才能实时跟着text3.text变化

我来回复

您尚未登录,请登录后再回复。点此登录或注册