2

我创建了我的应用程序可以识别的自定义文件类型,我想知道当我通过双击这种类型的文件打开我的应用程序时会触发什么事件。我在 Form.Shown 和 Form.Load 的处理程序的开头以及表单的构造函数的开头放置了断点,但应用程序从未遇到断点。

4

3 回答 3

2

使用该文件:只需从命令行 args 获取您的文件并在您想要的事件上处理它。My.Application.CommandLineArgs

在此之后,如果您想调试:您可以将该参数放入Properties-Debug-Start Options-Commandline arguments(参数将是您的文件)并在您正在处理该文件的事件上放置断点

愉快的调试

于 2013-05-10T06:14:14.880 回答
2

如果您通过双击计算机文件系统中的文件来打开应用程序,则 Visual Studio 中内置的调试器将不会附加到应用程序的进程,因此不会在断点处中断。您可以将调试器附加到正在运行的进程,但是您所说的发生得相当快,因此您几乎肯定无法以足够快的速度附加到进程以设置断点并在它通过它们时捕获执行。

最终,当您通过文件关联打开应用程序时触发的事件与通过运行其可执行文件打开应用程序没有什么不同。

于 2013-05-10T06:14:42.507 回答
0

如果您将程序创建为单实例应用程序,那么您将收到Startup第一个实例的StartupNextInstance事件,以及每次后续调用的事件。

这些事件中的每一个都挂起My.Application并提供传递给每个调用的命令行参数。

如果您不使用单实例应用程序,则该Startup事件仍然可用。

于 2013-05-10T06:36:01.253 回答