2013-02-24 28 views
5

我完全是VB.net的新手,我试图运行一个半中级脚本来检查某些正在打开的文件。当它第一次打开时,它检查一个特定的程序,然后它将继续检查一个定时器上的不同程序。当我运行的代码,小组定时器1从不运行时,我把它设置为每20秒运行..计时器滴答处理程序没有运行

Imports System.Net 
Imports System.Text.RegularExpressions 

Public Class Form1 

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
     If (Process.GetProcessesByName("PROGRAM1").Length >= 1) Then 
      MessageBox.Show("This Client is already running!", "IG Error", MessageBoxButtons.OK, MessageBoxIcon.Stop) 
      Environment.Exit(0) 
     Else 
      Process.Start(System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "program.exe")) 
      '''' OPEN PROGRAM ABOVE '''' 
     End If 
     For Each frm As Form In Application.OpenForms 
      frm.WindowState = FormWindowState.Minimized 
     Next frm 
    End Sub 

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick 
     If (Process.GetProcessesByName("PROGRAM2").Length >= 1) Then 'CHECK FOR PROGRAM 
      MessageBox.Show("Program is running!", "IG Error", MessageBoxButtons.OK, MessageBoxIcon.Stop) 
      Environment.Exit(0) 
      Form3.Show() 
     Else 
      MessageBox.Show("Program is not running!") 
     End If 
    End Sub 
End Class 

以上是代码,我已经有..我的计时器子要么不运行或ISN”每20秒检查一次。 任何想法?

+0

呼叫['Timer.Start()'](http://msdn.microsoft.com/en-us/library/system.windows.forms.timer.start.aspx)第一,或者设置' Timer.Enabled = True' – alldayremix 2013-02-24 22:42:24

+0

需要启动计时器。你是否启动/启用你的计时器?如果是,在哪里? – Steve 2013-02-24 22:43:00

+0

我还没有叫它:P我现在叫它,并让你知道它是否工作(: – 2013-02-24 22:45:22

回答

3

与计时器常见的错误有:

  1. 您需要使用任何timer.enabled或timer.start启动它。

  2. 根据计时器和属性设置的类型,您可能需要重置滴答处理程序中的计时器。 (有定时器控制,system.timers.timer和system.threading.timer,每个都有一点不同。)

  3. 您可能需要在tick处理程序中临时禁用它,以确保它不会重新输入处理程序并导致问题。

  4. 如果您需要等待定时器运行时,最好使用system.threading.thread.sleep而不是循环。

+0

真的很有帮助......应该被接受 – 2013-11-15 09:51:41

相关问题