2009-06-12 6 views
3

.NET Windowsフォームでは、HelpButtonプロパティがtrueに設定されている場合(および最小化/最大化ボタンを表示していない場合)、タイトルバーにヘルプボタンが表示されます。このヘルプボタンをクリックすると、フォームはヘルプモードに移行し、カーソルが変更され、フォーム内の他の場所をクリックすると通常の効果は得られません。代わりに、クリックすると、クリックされたコントロールのHelpRequestedイベントが誘発されます。私はヘルプボタンと最小化/最大化ボタンが必要であることを除いて、素晴らしいです。だから自分のフォームのクライアント領域に自分のヘルプボタンを作成しました。クリックすると、フォームをヘルプモードにするにはどうしたらいいですか?ヘルプ要求モードでフォームを配置するにはどうすればよいですか?

答えて

1

見つけました。

[DllImport("user32.dll")] private static extern int SendMessage(IntPtr hwnd, int msg, IntPtr wp, IntPtr lp); 
private const int WM_SYSCOMMAND = 0x112; 
private const int SC_CONTEXTHELP = 0xf180; 

private void button1_Click(object sender, EventArgs e) { 
    button1.Capture = false; 
    SendMessage(this.Handle, WM_SYSCOMMAND, (IntPtr)SC_CONTEXTHELP, IntPtr.Zero); 
} 
関連する問題