0

そのため、openfiledialog を使用してファイルに移動するときに、テキスト ファイルを開こうとしています。これが私のコードです:

        string path;
        if (openFileDialog1.ShowDialog() == DialogResult.OK)
        {
            System.IO.StreamReader sr = new
               System.IO.StreamReader(openFileDialog1.FileName);
            path = sr.ReadToEnd();
            sr.Close();
        }

開かない、ここに私が得るエラーがあります: i.imgur.com/0eVWFAJ.png

4

2 に答える 2

2

おそらく、デフォルトのアプリケーションを使用してファイルを開く必要があると思います。その場合、これを試してください:

if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
    System.Diagnostics.Process.Start(openFileDialog1.FileName);
}

openFileDialog1.FileName には、フル パスの文字列が含まれます。

ファイルを開く代わりに、選択したファイルの内容を別の文字列にロードしたい場合は、次を試してください。

if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
    var fileContents = System.IO.File.ReadAllText(openFileDialog1.FileName);
    ...
    // your code to work with the string here...
}
于 2013-10-22T01:13:08.603 に答える
0

新しいウィンドウでファイルを開くだけの場合は、次を使用する必要がありますDiagnostics.Process

@Baldricが示したように、ファイル名を保存したい場合。

string path = "";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
    path = openFileDialog1.FileName;
    System.Diagnostics.Process.Start(path);
}

あなたのコードで気づいたもう1つのこと。ファイル名を返したいが、使用します

path = sr.ReadToEnd();

ファイル内のテキストにファイルのパスが含まれていますか?

于 2013-10-22T01:36:15.843 に答える