2009-06-12 6 views
3

Un formulaire Windows .NET peut avoir un bouton d'aide sur la barre de titre lorsque la propriété HelpButton est définie sur true (et que vous n'affichez pas les boutons minimiser/agrandir). Lorsque ce bouton d'aide est cliqué, le formulaire passe en mode d'aide où le curseur change et en cliquant ailleurs dans le formulaire n'a pas l'effet habituel. Au lieu de cela, un clic induit l'événement HelpRequested sur le contrôle cliqué. Génial, sauf que j'ai besoin du bouton d'aide ET des boutons minimiser/maximiser. J'ai donc créé mon propre bouton d'aide dans la zone client de mon formulaire. Quand on clique dessus, comment puis-je placer le formulaire en mode aide?Comment placer un formulaire en mode demandé par l'aide?

Répondre

1

Trouvé.

[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); 
} 
Questions connexes