在初始表单加载时未在visual basic中加载的事件

时间:2014-07-12 11:02:07

标签: vb.net

我不太擅长解释自己,但我有一个问题,在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中的其他事件可以工作,但是当这个^特定表单加载时,调试行不会显示在输出中,这意味着没有加载它,我猜。

任何帮助?

1 个答案:

答案 0 :(得分:1)

   Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException)

创建控件后,无法更改异常处理模式。此语句将始终抛出InvalidOperationException。所以你的Debug.WriteLine()语句永远不会执行。

接下来出现的问题是64位版本的Vista或Windows 7上存在非常非常严重的问题。实际上,您看不到异常,调试器没有告诉您。所以你不知道出了什么问题,代码似乎没有执行。 this answer中详细介绍了此问题及其解决方法。

解决方案是该答案的第4个子弹中涵盖的解决方案。此代码不属于您的Load事件处理程序。在VB.NET中,使用Application.Startup事件。单击项目+属性,应用程序选项卡,向下滚动,单击“查看应用程序事件”按钮,并为“启动”事件添加事件处理程序。