2013-02-21 81 views
0

我有一個奇怪的問題,我似乎無法弄清楚。我有一個計時器每3秒運行一次,並將按鈕顏色更改爲黃色,黑色或綠色,具體取決於是否有掛起的計劃,沒有計劃或當前正在運行的計劃。按鈕顏色變化不適用於其他電腦

當我進入調試模式並添加計劃或一次運行時,它在我的計算機上正常工作,它會像它應該那樣更改顏色。我把這個程序放到虛擬機上,並用相同的數據參數製作了相同的時間表,但按鈕不會改變顏色。我在兩臺機器上安裝了.net 4.0。

Public Sub createTimer() 

     buttonTimer = New Timer() 
     buttonTimer.Start() 
     buttonTimer.Interval = 3000 
     AddHandler buttonTimer.Tick, AddressOf buttonTimer_Tick 

當加載頁面時,從runonce函數調用createTimer()。

Public Sub buttonTimer_Tick(sender As Object, e As EventArgs) 

    If Scheduler.AutomationRunning = True Then 
     btnAutoStartMenu.ForeColor = Color.Green 
    ElseIf Scheduler.AutomationRunning = False And Automation.ScheduleList.Count > 0 Then 
     btnAutoStartMenu.ForeColor = Color.Yellow 
    ElseIf Scheduler.AutomationRunning = False And Automation.ScheduleList.Count = 0 Then 
     btnAutoStartMenu.ForeColor = Color.Black 
    End If 

我想知道它可能是一個DLL,我不包括在安裝程序中?但顏色變化看起來像是一個很容易內置到.net框架中的東西,所以在4.0上都應該正確地處理這個問題?

編輯: 此外,嘗試在另一個虛擬機實例上,同樣的問題仍然存在。

+1

你可以發佈你正在使用設置密碼:

你應該加入一些錯誤處理得到更多的線索按鈕顏色? – 2013-02-21 16:48:50

+0

好的,我發佈了代碼。順便說一句,如果我將它安裝在計算機上,它不會改變顏色,但是當我在VS 2010中運行調試模式時,它可以工作!在同一臺計算機上?我需要引用還是包含某種依賴關係?很奇怪 – Cerealkiller050 2013-02-21 18:28:38

+0

'Scheduler.AutomationRunning'的值是什麼?一探究竟。 – RoadBump 2013-02-21 18:44:35

回答

0

@RoadBump是正確的。如果SchedulerNothing,會發生什麼情況?

Try 
    If Scheduler.AutomationRunning = True Then 
     btnAutoStartMenu.ForeColor = Color.Green 
    ElseIf Scheduler.AutomationRunning = False And Automation.ScheduleList.Count > 0 Then 
     btnAutoStartMenu.ForeColor = Color.Yellow 
    ElseIf Scheduler.AutomationRunning = False And Automation.ScheduleList.Count = 0 Then 
     btnAutoStartMenu.ForeColor = Color.Black 
    End If 
Catch ex as Exception 
    btnAutoStartMenu.ForeColor = Color.Red 
End Try 

所以,如果您的按鈕變爲紅色,那麼你需要啓動一些進一步的調查