c# - 如何通过单击桌面上的文件来启动我的程序并读取文本文件
问题描述
我有一个程序可以打开和保存文件,但只能从 GUI 中。我看到了一篇关于它的帖子,但他需要一些不同的东西,所以我在这里寻求帮助。
我希望能够从桌面打开文件,以便将文件中的数据加载到程序中。
我设法添加了文件扩展名,但是当我从桌面双击文件时,会打开完全不同的窗口(我编程的动视窗口)。
我将 WPF 与 C# 一起使用,但我使用 VB 运行。
谁能告诉我我做错了什么?是否有处理打开文件的事件?
解决方案
似乎缺少的是您实际上是从文件中加载数据。当您通过双击关联文件打开程序时,Windows 会将该文件的路径作为参数传递。
在 WPF 中,这些参数可以在Application.StartUp
事件中访问。StartupEventArgs.Args
是一个字符串数组,包含所有传递的参数。从文件打开程序时,e.Args[0]
应该是打开的文件的全名。
在您的启动事件中,您应该设置程序以根据文件以您想要的方式打开。
您可以更改Application.StartupUri
以选择首先打开的窗口。
或者,您也可以StartupUri
从 App.xaml 文件中删除并自己创建一个窗口实例(使用普通Window.ShowDialog
方法)。这使您能够在Startup
事件期间访问窗口并根据文件/参数更改任何属性。
推荐阅读
- javascript - 为什么 Express Session 变量 (userID) 不在浏览器中创建 cookie?
- python - 如何在大于和小于端点的python中绘制分箱数据
- r - 使用 R 列出 https 服务器上的文件
- ruby - 带有多个参数的 Ruby 重载运算符
- azure - Azure API 管理/Azure 函数身份验证方法?
- javascript - 已启用 Google-People API,但仍显示凭据无效
- javascript - 有没有办法可以在一个页面上多次使用这个 Javascript / jQuery 函数
- json - Swift 无法读取数据,因为它的格式不正确
- python - Pandas - 将列添加到数据框中,根据上个月的项目 ID 查找项目销售额的总和和平均值
- nlp - Example.fromJSON(data.read(), 字段)