Hallo zusammen !
Mein .Net Dialog soll mit einer kontextsensitiven Hilfe ausgestattet werden, die an ein bestimmtes HelpTopic in einer chm Datei springt, wenn der Anwender auf das Hilfe-Fragezeichen und dann auf einen beliebigen Bereich des Formulars oder darauf liegenden Controls klickt.
Dazu habe ich im Formular die Eigenschaft HelpButton auf true gesetzt und anschließend einen HelpRequested Eventhandler hinzugefügt.
Leider wird diese Funktion nur aufgerufen wenn ich direkt auf das Formular oder einen Button klicke. Sobald ich z.B. auf ein MenuStrip oder ToolStrip klicke wird mein Reaktor nicht mehr aufgerufen - auch wenn ich den HelpRequested EventHandler direkt dem ToolStrip bzw. MenuStrip zuweise.
Hat jemand von Euch eine Idee was ich falsch mache oder wie ich das lösen kann?
zum besseren Verständnis hier noch ein bisschen Code
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50:
| ...
public FDialog() { InitializeComponent(); HelpButton = true; AddHelpReactors(); }
private void AddHelpReactors() { HelpRequested += new HelpEventHandler(FDialog_HelpRequested);
msMainMenu.HelpRequested += new HelpEventHandler(msMainMenu_HelpRequested);
toolStrip1.HelpRequested += new HelpEventHandler(toolStrip1_HelpRequested); } void toolStrip1_HelpRequested(object sender, HelpEventArgs hlpevent) { CallMyHelp(); hlpevent.Handled = true; }
void msMainMenu_HelpRequested(object sender, HelpEventArgs hlpevent) { CallMyHelp(); hlpevent.Handled = true; }
void FDialog_HelpRequested(object sender, HelpEventArgs hlpevent) { CallMyHelp(); hlpevent.Handled = true; } |