3

Resources に help.txt ファイルをテキスト ファイルとして追加し、次のようにしました。

private void helpButton_Click(object sender, MouseEventArgs e)
{
    System.Diagnostics.Process.Start(myProject.Properties.Resources.help);
}

うまくいかなかったので、次の方法を試しました。

private void helpButton_Click(object sender, MouseEventArgs e)
{
    System.Diagnostics.Process.Start(@"help.txt");
}

それも機能しませんでしたが、このように機能します:

private void helpButton_Click(object sender, MouseEventArgs e)
    {
        System.Diagnostics.Process.Start(@"C:\Projects\CourceWork\Resources\help.txt");
    }

問題は、このハードコアで定義されたパスを処理したくないということです。どうすればよいですか?

4

2 に答える 2

3

ファイルに関連付けられた既定のプログラム.txt(通常はメモ帳) で埋め込みリソースを開きたいようです。残念ながら、メモ帳は埋め込みリソースを読み取ることができません。したがって、リソースを抽出してファイルとしてディスクに保存し、そのファイルでメモ帳を開く必要があります。

var helpFile = Path.Combine(Path.GetTempPath(), "help.txt");
File.WriteAllText(helpFile, myProject.Properties.Resources.help);
Process.Start(helpFile);

または、テキストを表示する独自のファイルを作成することもできます。Formこれは、私の意見ではより良い解決策です (PDF ファイルなど、表示するのが簡単でない場合を除きます)。

于 2012-10-15T16:14:38.680 に答える
0

コードからデフォルトのテキストエディタで .txt ファイルを開きたい場合は、最初にリソースに配置することを再検討する必要がありますが、プロジェクトの同じディレクトリまたは取得しやすいディレクトリに配置する必要があります私の文書。

于 2012-10-15T16:28:45.543 に答える