我正在使用VS 2010,VB.net中的代码。无论出于何种原因,我的Form1.Load(在我的应用程序中,称为Form.JNA)都不会运行。它根本不会执行该子例程中的任何代码。有谁知道为什么会这样?
我的主要表单叫做FormJNA。我不知道包含代码的开头是否有帮助,所以在这里。我知道它不起作用,因为boolConfirmed永远不会是真的,textReqDate文本框是空的。
Private Sub FormJNA_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
'Close the database in case it was left open
All.rstRecordSet.Close()
All.conConnection.Close()
strEmailServer = All.GetEmailServer("tblEmailServer", "Server") 'retrieves the email name from JNADB
boolConfirmed = True 'set as true since there is no data to be confirmed. this prevents a popup window warning the user of unconfirmed data
'For live date in application window
Timer1.Start()
txtReqDate.Text = DateValue(Now)
....
...
..
.
当我插入断点时,我把它放在第一个注释代码行上。当我运行程序时,它会将我带到断点处,红点上方有一个黄色箭头。我按下按钮移动箭头,窗口打开,但随后黄色箭头消失,除非我按下主窗体上的一个按钮,否则我无法移动到程序中的任何位置。所有其他形式的工作和运行都很好,除了这个。
答案 0 :(得分:0)
您的代码可能会抛出未报告的错误。
尝试使用Try Catch
块包装所有内容并查看异常是什么
答案 1 :(得分:0)
你可能正在进入一个需要很长时间才能完成的例程......或无限循环而永不返回。表单永远不会显示,因为form_load可能无法完成,或者需要很长时间才能完成,并且在表单加载之前关闭应用程序。
答案 2 :(得分:0)
解决了这个问题。 All.GetEmailServer
函数打开了一个Access DB,但从未关闭它,当调用Load子中较低的函数并使用相同的连接字符串打开Access DB时,这会导致错误。
感谢Matt Wilko,没有try catch块就找不到它了!
答案 3 :(得分:0)
尝试使用表单Shown()事件而不是Load事件