0

我们最近将一个 VB6 应用程序迁移到 VB.NET。在 VB6 中,已在 .chm 文件的帮助下为每个控件显示 F1 帮助。在 VB.Net 中,不显示 F1 帮助文件。

在 VB.Net 中,我添加了helprequested事件:

Private Sub Form1_HelpRequested(ByVal sender As System.Object, ByVal hlpevent As 
System.Windows.Forms.HelpEventArgs) Handles MyBase.HelpRequested 
End SubIn Vb.Net

然后在 HelpRequested 事件的帮助下为每个控件显示 F1 帮助。

问题是当我调用时引发了 HelpRequested 事件btnHelp_Click button

Private Sub btnHelp_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles btnHelp.Click 
Const SET_DEFAULT_HELP As Integer = 88 
MessageBox.Show("MessageBox Help Button", "Raju help", MessageBoxButtons.OKCancel,MessageBoxIcon.Warning,MessageBoxDefaultButton.Button1, 0, _ 
My.Application.Info.DirectoryPath & BACKSLASH & HELPFILE1_NAME,HelpNavigator.TopicId,SET_DEFAULT_HELP.ToString()) 
End Sub

当我调用消息框帮助按钮时会引发 HelpRequested 事件。(MessageBox.Show ("Displaying Helpfile"))

我不想引发那个 HelpRequested 事件;当我单击消息框帮助按钮时btnHelp_Click。我该如何限制这个?

4

1 回答 1

0

在我的网站上有一些文件可供下载(ClickOnce 示例和项目文件):
http ://www.help-info.de/en/Visual_Basic_2005/vb_2005.htm

请首先尝试 ClickOnce 示例。请注意,此示例的选项卡上有“编码示例”。

也从我的网站下载代码。这是VB2005 - 我认为你转换没有问题。不知道你用的是什么版本的IDE。始终保持互联网连接,您的用户可能会通过远程帮助主题获得“最新”帮助(特殊用例;请参阅按钮文本帮助转到我的网站)。

为什么不使用 Help.ShowHelp?这是来自示例项目的代码(见上文)。

Private Sub btnShowHelpTopicId_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnShowHelpTopicId.Click  
Dim sPath As String = Replace(Application.StartupPath.ToString, "\bin", "")  
'// --- Show CHM contents tab and a special topic by TopicID -----  
Help.ShowHelp(Me, sPath & "/hlp/CHM-example.chm", HelpNavigator.TopicId, "20010")  
End Sub
于 2013-01-15T18:47:49.077 回答