请问怎么样在菜单栏的一个帮助按钮上点击后弹出我做好的.chm的帮助文档呢,谢谢

解决方案 »

  1.   

    Help.ShowHelp(this,"帮助文件位置");
      

  2.   

    System.Diagnostics.Process.Start("E:\\test.chm");
      

  3.   

    简单一点,搂主确实可以用楼上的方法但也可以调用ShellExecute这个WinAPI函数
      

  4.   

    System.Diagnostics.Process.Start("帮助文件位置"); 就可以直接打开了.结贴了吧.
      

  5.   

    System.Diagnostics.Process.Start("帮助文件位置");
    Help.ShowHelp(this,"帮助文件位置");
      

  6.   

    是这样的,搞出来了,但还有个问题,在普通的按钮上可以定义它的 helpProvider上的HelpKeyword 等属性以控制我在此按钮获得焦点的时候按f1可以跳出指定的帮助页面,但菜单栏menuStrip 上的按钮却没有helpProvider上的HelpKeyword  这些属性,但我想要做出那样的效果来,请问应该怎样做呢,可以的话能给我点代码吗?一定加分感谢各位
      

  7.   

    Help.ShowHelp(new Form(), 帮助文件路径, HelpNavigator.Topic, "需要显示的CHM中的页面(也就是这个页面的路径,在CHM中点右键可以看到)");
      

  8.   

    Help.ShowHelp(this, @"..\Release\Help\SALESSTOCKHELP.chm", "/OPManual/01Introduce/13BalanceMg/04StocksMoney/StocksMoney_CCon_01.htm");前面一个是你的文件的位置,后面的那个就是具体的一个页面
      

  9.   

    lz是想用F1点击了后弹出得啊 ,好像还没有答案呢啊 
      

  10.   

    设置窗体的KeyPreview为true
    你肯定菜单上也有帮助按钮的,有帮助按钮菜单的click事件里面写:System.Diagnostics.Process.Start("帮助文件位置"); 然后在窗体的KeyDown事件里面写: private void 测试窗体_KeyDown(object sender, KeyEventArgs e)
            {
                switch (e.KeyCode)
                {
                        case Keys.F1:
                        帮助菜单_Click(this, EventArgs.Empty);//这里跟的是你的菜单事件名称
                        break;
                }   
            }这样的话就可以F1调用了
      

  11.   


    那就需要一些代码来实现。
    思路是:
    1. 获取当前需要帮助的用户功能点(如楼主说的按钮)
    2. 找到此功能点对应的帮助文档页
    3. 弹出chm,跳转到当前文档第2点,需要楼主在某个地方做个映射,没问题。
    第3点,楼上已经给了办法:
    Help.ShowHelp(this, @"..\Release\Help\SALESSTOCKHELP.chm", "/OPManual/01Introduce/13BalanceMg/04StocksMoney/StocksMoney_CCon_01.htm");
    关键就是第一步,可以考虑声明一个全局变量用来存放这个功能点id FunctionId,在这些控件mouse over的事件中赋值给FunctionId,在激活F1的事件中,根据当前FunctionId值,找到匹配的文档页,弹出文档。
      

  12.   

    应为菜单栏上每个按钮是一个toolSriptMenuItem 它没有关联帮助helpProvider的属性所以现在不知道该怎么弄
      

  13.   


    搂主可以设置你的帮助菜单项的ShortcutKeys属性,把它设置为F1就可以了