返回首页

简介
中的Windows窗体的。NET Framework库的大力支持下,上下文敏感的帮助。您可以指定控制程序中的每个的帮助主题。当你按F1本主题将自动显示,控制焦点。
一个问题时,当您尝试做ToolStrip的项目,如ToolStripButton的或ToolStripComboBox。这些类不是控制,他们是不是来自控制,但是从ToolStripItem类别。您将需要一些技巧,让这些对象上下文敏感的帮助工作。解决方案
一个简单的例子是来自ToolStripControlHost中,例如,ToolStripComboBox的类。他们创建了一个控件来绘制自己。所以,我们也可以只此控件绑定到一个帮助主题,如下面的代码片段所示:

helpProvider1.SetHelpKeyword(toolStripComboBox1.Control, "Chapter_2.htm");

helpProvider1.SetHelpNavigator(toolStripComboBox1.Control, HelpNavigator.Topic);

如果你想绑定其他ToolStripItems,例如,到ToolStripButton的上下文敏感的帮助,你需要更多一点的工作。首先,你需要一个自定义HelpProvider:{C}
CustomHelpProvider看起来如果一个ToolStripItem的焦点(Selected属性)。如果是的话,它使用的Tag属性获得帮助关键字。现在,我们只是设立的ToolStrip和项目工作与我们的帮助提供商:
// Register the tool strip at the help provider with an empty keyword.

helpProvider1.SetHelpKeyword(toolStrip1, "");

helpProvider1.SetHelpNavigator(toolStrip1, HelpNavigator.Topic);



// Set help keywords for the toolstrip buttons using Tag property.

toolStripButton1.Tag = "Chapter_3.htm";

toolStripButton2.Tag = "Chapter_4.htm";

toolStripButton3.Tag = "Chapter_5.htm";

就是这样,现在的ToolStripButtons上下文敏感的帮助。
作为进一步改善,你不妨从ToolStripButton的派生自己的类。这个类的帮助,而不是使用Tag属性关键字的属性。

回答

评论会员: 时间:2