0

ユーザーが F1 をクリックしたときにそれを持つことができる CHM ファイルを作成します。しかし、私が必要とするのは、ユーザーがアプリケーションをインストールするフォルダーにインストールする方法です。ユーザーが F1 をクリックすると、インストールしたフォルダーからそれを読み取って表示する必要があります。また、c:\sample.chm のようなものを呼び出さずにアプリケーションを呼び出す方法や、それがあったディレクトリから呼び出す必要があるものを呼び出す方法もあります。

4

2 に答える 2

1

結局、私は解決策を得ました

  private void frmMain_HelpRequested(object sender, HelpEventArgs hlpevent)
    {
        string dirpath = string.Empty;
        string filename = "ACHWINAPP.chm";
        dirpath=System.Environment.CurrentDirectory;
        string[] files=new string[100];
        do
        {
            if (dirpath ==string.Empty || dirpath == Directory.GetDirectoryRoot(dirpath))
            {
                MessageBox.Show("no helpfile found");
            }
            else
            {
                files=Directory.GetDirectories(dirpath,"ACH");
                if (files.Length>0)
                {
                    //MessageBox.Show(files[0]);
                    string strHlp = string.Empty;
                    strHlp = files[0] + "\\ACHWINAPP.chm";
                    Help.ShowHelp(this, strHlp);
                    break;
                }
                else
                {
                    dirpath = Directory.GetParent(dirpath).ToString();
                }
            }
        } while (true);

    }
于 2010-12-08T15:13:19.070 に答える
1

ヘルプ ファイルをインストールするには、セットアップ プロジェクトに追加して、実行可能ファイルのあるディレクトリにインストールされるようにする必要があります。

ヘルプ ファイルが実行可能ディレクトリにあることがわかったら、HelpProviderをフォームにドロップできます。これにより、ヘルプ ファイルが F1 ボタンに接続されます。HelpNamespaceヘルプ ファイルのパスに設定します。ディレクトリのパスを動的に把握するには、 を使用System.Reflection.Assembly.GetExecutingAssembly().Locationして実行可能ファイルのパスを取得し、それをヘルプ ファイルの名前に追加します。

     string appPath = System.Reflection.Assembly.GetExecutingAssembly().Location;
     appPath = System.IO.Path.GetDirectoryName(appPath);
     myHelpProvider.HelpNamespace = System.IO.Path.Combine(appPath, "myHelpFile.chm");
于 2010-12-03T14:42:16.130 に答える