首页 > 解决方案 > 如何通过单击桌面上的文件来启动我的程序并读取文本文件

问题描述

我有一个程序可以打开和保存文件,但只能从 GUI 中。我看到了一篇关于它的帖子,但他需要一些不同的东西,所以我在这里寻求帮助。

我希望能够从桌面打开文件,以便将文件中的数据加载到程序中。

我设法添加了文件扩展名,但是当我从桌面双击文件时,会打开完全不同的窗口(我编程的动视窗口)。

我将 WPF 与 C# 一起使用,但我使用 VB 运行。

谁能告诉我我做错了什么?是否有处理打开文件的事件?

标签: c#wpfvb.netfiledesktop

解决方案


似乎缺少的是您实际上是从文件中加载数据。当您通过双击关联文件打开程序时,Windows 会将该文件的路径作为参数传递。

在 WPF 中,这些参数可以在Application.StartUp事件中访问。StartupEventArgs.Args是一个字符串数组,包含所有传递的参数。从文件打开程序时,e.Args[0]应该是打开的文件的全名。

在您的启动事件中,您应该设置程序以根据文件以您想要的方式打开。

您可以更改Application.StartupUri以选择首先打开的窗口。

或者,您也可以StartupUri从 App.xaml 文件中删除并自己创建一个窗口实例(使用普通Window.ShowDialog方法)。这使您能够在Startup事件期间访问窗口并根据文件/参数更改任何属性。


推荐阅读