2015-04-30 41 views
0

我有一個用vb.net編寫的包含表單的程序。該表格有5個標籤控件和1個按鈕。我正在使用此程序作爲我的網絡(服務器2008r2)上的啓動腳本文件。當用戶登錄到其中一臺服務器時,腳本將執行並正常運行,直到達到form.showdialog命令。那時沒有任何反應。啓動腳本中的vb表單不顯示

我有一個try/catch象下面這樣:

Try 
    ...write message1 to file in SQL database 
    Form1.ShowDialog() 
    ...write message2 to file in SQL database 
Catch ex As Exception 
    ...write error message to file in an SQL database 
End Try 

message1寫細,就是這樣。

現在,如果我通過雙擊它直接從其中一臺服務器運行exe腳本文件,窗體顯示正常。

如果任何人都可以提供一些見解,我肯定會感激。這一個讓我難住。

+0

什麼是錯誤正在returne d到Catch塊?讓它將錯誤和堆棧跟蹤寫入文件,然後發佈。 –

+1

我會懷疑一個線程/競爭條件。您的程序可能還無法訪問UI。如果您的ShowDialog處於Load事件中,請嘗試將其移至Shown事件。 ...不知道你爲什麼要調用ShowDialog,除非你從啓動窗體加載另一個窗體。 – rheitzman

回答

0

.ShowDialog導致應用程序等待顯示的表單不再顯示。一個示例是提示輸入值,在提示符保持打開狀態時,拋出提示的表單不會超過.ShowDialog

由於它聽起來像你想的代碼,而無需用戶參與的進步,我認爲將是: - 前Form1.ShowDialog移動代碼到負載代碼(Handles MyBase.Load)爲Form1

  • 製作確保Form1的是應用程序
  • 啓動窗體添加目前正在跟蹤Form1.ShowDialog.Shown事件代碼的所有代碼爲Form1