在程序启动时从文本文件加载

时间:2013-06-11 05:44:59

标签: c# winforms visual-studio-2012

很抱歉这个可能很无聊的问题,只是开始学习c#,找不到任何有用的东西。

我在c#中创建了一个文本编辑器,到目前为止它可以通过对话框从程序内部打开和保存文本文件,但是我如何从我在Windows资源管理器中打开的文件中加载文本编辑,编辑

基本上,我已经可以从编辑器中打开的文本文件中读取,但是我怎么能这样做呢?如果我打开一个文本文件(并且有打开文本文件的默认程序设置到我的编辑器),它会看了吗?

我看到了一些关于以某种方式获取文件名并将其作为参数传递的内容,如果有帮助的话。

3 个答案:

答案 0 :(得分:7)

如果我理解正确,你想将文件名/名称作为命令行参数传递? 如果你查看启动程序的Main,你可以看到它将参数存储在字符串[](字符串数组)中,所以如果传递参数,你可以检查程序中的args []来获取你发送的参数如果您需要更多帮助,请询问更多信息!

更新根据您的请求,如果您从Windows资源管理器中打开文件,它会将文件的路径发送到Main方法。因此,假设您单击一个文件并选择使用文本编辑器打开它。您必须像我在下面一样使用路径,并阅读文件内容。然后你可以用内容做任何你想做的事。

 class TestClass
 {
     static void Main(string[] args)
     {
           //Now you have all arguments in the string array
           if(args.Length != 0)
           {
                 string pathToTextfile = args[0];
           }

           StreamReader textFile = new StreamReader(pathToTextfile);
           string fileContents = textFile.ReadToEnd();
           textFile.Close();


     }
 }

答案 1 :(得分:1)

因此,您有一个用C#编码的文本编辑器,并且您希望能够通过双击Windows资源管理器中的文件来打开文本文件。如果是这样,基本上是两步:  1.您的编辑程序必须接受一个参数作为文件名。卡尔已经举了一个例子。  2.您需要将* .txt文件与文本编辑器关联。这可以通过编辑Windows注册表来完成。请查看What registry keys are responsible for file extension association

答案 2 :(得分:0)

您可以使用OpenFileDialog类选择要在程序中显示的文件。