方法 : コンポーネントに対するヘルプ ファイルを指定する
ほとんどの場合、コンポーネントを使用する開発者が実行時のヘルプを起動できるようにしておきます。 ただし、呼び出されたときにコンポーネントが HTML ヘルプを表示する方がよい場合もあります。 コンポーネントに対して HTML ヘルプを提供するには、System.Windows.Forms.Help オブジェクトを使用します。 このオブジェクトは、HTML Help 1.x エンジンをカプセル化する静的クラスです。 このクラスはインスタンス化できないので、メソッドを直接呼び出す必要があります。 ヘルプを表示するには、Help.ShowHelp Method メソッドを呼び出します。 このオーバーロードされたメソッドには最低 2 つの引数が必要です。1 つはヘルプ ダイアログ ボックスの親コントロールとして動作するコントロールであり、もう 1 つはヘルプ ファイルの URL です。 ヘルプ ファイルには、コンパイル済みの HTML Help 1.x ファイル (.chm ファイル) または HTML Help 形式の HTML ファイルを使用できます。
コンポーネント内にヘルプ ファイルのサポートを直接組み込む場合は、それをいつどのように表示するかについて 2 つの選択肢があります。
推奨されるオプションは、クライアント アプリケーションから呼び出すことができる Help メソッドを実装することです。 クライアント アプリケーションは適切なトピックを表示するためのパラメーターを Help メソッドに渡すことができ、コンポーネントを使用してコーディングを行う開発者はヘルプを完全にバイパスすることもできます。
もう 1 つの選択肢は、コード内の条件に応じて ShowHelp メソッドを呼び出すことです。 このアプローチでは、ヘルプをいつどのように表示するかを最も自由に制御できますが、将来コンポーネントを使用する開発者に対しては大きな制限を課すことになります。
コンポーネントに対するヘルプ ファイルを指定して表示するには
.chm ヘルプ ファイルを作成してコンパイルします。
コンポーネント内に System.Windows.Forms 名前空間への参照がない場合は、追加します。
ヘルプを表示するパブリック メソッドを作成します。 このメソッドは、表示するヘルプを開発者が簡単に指定できるような手段を提供する必要があります。
' This method takes parameters from the client application that allow ' the developer to specify when Help is displayed. Public Sub DisplayHelp (ByVal parent as System.Windows.Forms.Control, _ ByVal topic as MyHelpEnum) ' The file to display is chosen by the value of the topic ' parameter. Select Case topic Case MyHelpEnum.enumWidgets Windows.Forms.Help.ShowHelp(parent, "C:\Help\Widgets.chm") Case MyHelpEnum.enumMechanisms ' Insert code to implement additional functionality. End Select End Sub
// This method takes parameters from the client application that allow // the developer to specify when Help is to be shown. public void MyHelp(System.Windows.Forms.Control parent, myHelpEnum topic) { // The file to display is chosen by the value of the topic. switch (topic) { case myHelpEnum.enumWidgets: System.Windows.Forms.Help.ShowHelp(parent, " C:\\help\\widgets.chm "); break; case myHelpEnum.enumMechanism: // Insert code to implement additional functionality. break; } }