主婦と.NETと犬のぶろぐ

奥様 と プログラム と お犬様 の 楽しい日常

目次

Blog 利用状況

ニュース

書庫

日記カテゴリ

HelpProvider(System.Windows.Forms.HelpProvider)

ヘルプファイルを作ったことはありますが、このコンポーネントは使ったこと無いと思う。多分。
あ、Help.ShowHelp なら使った事あるんだった。
SetHelpKeyword で日本語を渡すとそのまま渡すと化けてしまいます。
また、2 バイト文字じゃない文字列を渡しても、先頭の 1 文字でちょん切られてしまいます。
なんでじゃろ。そういう仕様なのかな。

ちなみに、chm ファイルを作成する時にいつもお世話になっているのは、↓こちら。
ヘルプましん

■参考文献
HelpProvider コンポーネント (Windows フォーム)
Windows フォームでのヘルプの統合
HelpProvider クラス
HelpNavigator 列挙体

■実行画像
適当に作った画面
HelpProvider
なまえ の TextBox1 を Active にした状態で、F1 を押下した時にでるヘルプ(HelpKeyword)
HelpProvider HelpKeyword
性別 の TextBox2 を Active にした状態で、F1 を押下した時にでるヘルプ(HelpNavigator)
HelpProvider HelpNavigator
Button1 を Active にした状態で、F1 を押下した時にでるヘルプ(HelpString)
HelpProvider HelpString
CheckBox1 を Active にした状態で、F1 を押下した時にでるヘルプ(Form の HelpString)
HelpProvider Form の HelpString

Public Class HelpProviderTest

Private Const HELP_NAME_SPACE As String = "D:\わんくま\いぬのへるぷ.chm"
Private Sub HelpProviderTest_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load '' ヘルプファイルを使ったヘルプ With Me.HelpProvider1 ' ヘルプの指定 .HelpNamespace = HELP_NAME_SPACE ' キーワードに n が指定された状態でヘルプが開く .SetHelpKeyword(Me.TextBox1, "n") .SetHelpKeyword(Me.TextBox2, "s") ' ヘルプ削除 .ResetShowHelp(Me.TextBox2) ' 指定されたトピックの最初の文字のインデックス エントリが表示された状態でヘルプが開く .SetHelpNavigator(Me.TextBox1, HelpNavigator.AssociateIndex) ' 目次の状態でヘルプが開く .SetHelpNavigator(Me.TextBox2, HelpNavigator.TableOfContents) End With
'' ヘルプファイルを使わないヘルプ Me.HelpButton = True With Me.HelpProvider2 ' ヘルプのテキストを設定 .SetHelpString(Me.Button1, "押下すると登録するかもしれないししないかもしれないよ") ' Form 自体に SetHelpString をすると、何も設定されていないところで ' このメッセージが表示されるみたい .SetHelpString(Me, "いぬのなまえと性別をにゅうりょくしてね") ' ヘルプを有効にするかしないかの設定 .SetShowHelp(Me.Button1, True) End With End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click MessageBox.Show("ヘルプの状態をイミディエイトウィンドウに出力します。", _ "メッセージボックスのヘルプテスト", _ MessageBoxButtons.OK, _ MessageBoxIcon.Information, _ MessageBoxDefaultButton.Button2, _ MessageBoxOptions.RightAlign, _ HELP_NAME_SPACE) With Me.HelpProvider1 ' TextBox1 System.Diagnostics.Debug.WriteLine("◆TextBox1◆") System.Diagnostics.Debug.WriteLine("HelpKeyword:" & .GetHelpKeyword(Me.TextBox1)) System.Diagnostics.Debug.WriteLine("HelpNavigator:" & .GetHelpNavigator(Me.TextBox1).ToString()) System.Diagnostics.Debug.WriteLine("HelpString:" & .GetHelpString(Me.TextBox1)) System.Diagnostics.Debug.WriteLine("ShowHelp:" & .GetShowHelp(Me.TextBox1).ToString()) End With
With Me.HelpProvider2 ' Button1 System.Diagnostics.Debug.WriteLine("◆Button1◆") System.Diagnostics.Debug.WriteLine("HelpKeyword:" & .GetHelpKeyword(Me.Button1)) System.Diagnostics.Debug.WriteLine("HelpNavigator:" & .GetHelpNavigator(Me.Button1).ToString()) System.Diagnostics.Debug.WriteLine("HelpString:" & .GetHelpString(Me.Button1)) System.Diagnostics.Debug.WriteLine("ShowHelp:" & .GetShowHelp(Me.Button1).ToString()) End With End Sub End Class

投稿日時 : 2007年1月24日 9:09

Feedback

No comments posted yet.
タイトル  
名前  
Url
コメント