我不太擅长解释自己,但我有一个问题,在visual basic中启动调试时,表单加载的事件不会加载。
Private Sub frmMain_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException)
boolUserLog = False 'global variables
fButtonsEnable() 'function call for enable buttons
fFormLocation() 'function call for fixing form location
Debug.WriteLine("|--START--|")
Debug.WriteLine("COMPLETE LOAD")
Debug.WriteLine("|---END---|")
txtSearch.Text = strSearchText
End Sub
我尝试过搜索,完全迷失了。表单本身加载很好,其他形式的MyBase.Load中的其他事件可以工作,但是当这个^特定表单加载时,调试行不会显示在输出中,这意味着没有加载它,我猜。
任何帮助?
答案 0 :(得分:1)
Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException)
创建控件后,无法更改异常处理模式。此语句将始终抛出InvalidOperationException。所以你的Debug.WriteLine()语句永远不会执行。
接下来出现的问题是64位版本的Vista或Windows 7上存在非常非常严重的问题。实际上,您看不到异常,调试器没有告诉您。所以你不知道出了什么问题,代码似乎没有执行。 this answer中详细介绍了此问题及其解决方法。
解决方案是该答案的第4个子弹中涵盖的解决方案。此代码不属于您的Load事件处理程序。在VB.NET中,使用Application.Startup事件。单击项目+属性,应用程序选项卡,向下滚动,单击“查看应用程序事件”按钮,并为“启动”事件添加事件处理程序。