怎样按F1就调用我已经编写好的CHM帮助文件,用c#实现

chenzhen6941 2006-05-09 12:53:10
怎样按F1键调用我已经编写好的CHM帮助文件,最好有源代码,用c#实现,拜托各位高手了,谢谢!!!
...全文
587 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuhuiITren 2006-10-13
  • 打赏
  • 举报
回复
我也关注下,打包时候怎么把帮助文档一起打包啊,
marvelstack 2006-10-13
  • 打赏
  • 举报
回复
System.Windows.Forms.HelpProvider 类 ,参考msdn,
ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.NETDEVFX.v20.chs/CPref17/html/T_System_Windows_Forms_HelpProvider.htm
yanfeng 2006-10-11
  • 打赏
  • 举报
回复
注册窗体的HelpRequested事件。
void form1_HelpRequested(object sender, System.Windows.Forms.HelpEventArgs hlpevent)
{
if(Control.MouseButtons == MouseButtons.None)
{
MessageBox.Show("aaa");
string subtopic = null;
if(this.ActiveControl == this.personName)
subtopic = "personName"; // 根据当前光标所在的控件动态定位到CHM文件中的特定位置
if(this.ActiveControl == this.personPhone)
subtopic = "personPhone";
Help.ShowHelp(this, "aaa.chm", "person.htm#" + subtopic);
hlpevent.Handled = true;
}
}
rong99 2006-08-16
  • 打赏
  • 举报
回复
响应F1 打开 Help 文件:

在 主Form 里面添加 事件 HelpRequested 的响应函数,在响应函数里添加如下代码:

string strHelpPath = Application.StartupPath + "\\.....chm";

Help.ShowHelp(this,strHelpPath);

其他的代码都不需要, 就搞掂了 ^-^。

这样做以后,即使主窗口弹出了模式的对话框,挡在主窗口前面,主窗口仍然可以响应F1启动帮助。

通过调用Help类的showhelp打开的 帮助文件将随程序的退出而退出,不过help文件的窗口始终在最前面。
ttgzs 2006-08-16
  • 打赏
  • 举报
回复
1。在主窗体上放个HelpProvider控件helpProvider1,设置其属性HelpNamespace为你的chm文件路径;
2。主窗体属性里,将ShowHelp on helpProvider1设置为true。
System.Diagnostics.Process.Start( "Chm文件路径" );
zhyan717 2006-08-16
  • 打赏
  • 举报
回复
可以用设置系统热键的方法实现,我前段时间也做过类似的功能,用shift+f12调用一个文件
lovvver 2006-08-16
  • 打赏
  • 举报
回复
1。在主窗体上放个HelpProvider控件helpProvider1,设置其属性HelpNamespace为你的chm文件路径;
2。主窗体属性里,将ShowHelp on helpProvider1设置为true。
即可。
idda 2006-08-16
  • 打赏
  • 举报
回复
WinForm? or Web Form
WinForm如下
Form的KeyDown中
if (e.KeyCode == Keys.F1) {
RunHelper();
}

string filePath = Path.Combine( Application.StartupPath,@"Help.chm") ;
if(File.Exists(filePath)) {
System.Diagnostics.Process.Start(filePath);

}
freehul 2006-05-09
  • 打赏
  • 举报
回复
如果是想简单的调用外部程序就这样

比如调用系统计算器
System.Diagnostics.Process.Start( "calc.exe" );
改成
System.Diagnostics.Process.Start( "Chm文件路径" );
Knight94 2006-05-09
  • 打赏
  • 举报
回复
use "HelpProvider" class
Knight94 2006-05-09
  • 打赏
  • 举报
回复
参看
http://www.helpware.net/mshelp2/demo2/h1xNET.htm
前 言 visual basic继承了basic语言易学易用的特点,特别适合于初学者学习windows系统编程。随着21世纪信息社会的到来,计算机在人们的工作和生活中的深入,要求我们越来越多地与计算机打交道,为了使用户在繁忙的日程工作中得到放松,于是出现了各种各样的休闲软件,如聊天工具,游戏等等。于是我们小组着手设计开始一个这样的游戏软件。通过这学期来Visual Basic的学习,我初步掌握了Visual Basic语言的最基本的知识,于是在化希耀张兵等老师的指导下动手用Visual Basic编写俄罗斯方块游戏。 无可争议,《俄罗斯方块》是有史以来最伟大的游戏之一。它是永恒的娱乐经典,但它实际上又和那些传统的经典娱乐方式不同,因为它的本质是电子化的,所以它的确属于现代产物。《俄罗斯方块》举世闻名的游戏性,在该游戏新鲜出炉时就显得非常直观。某些与坠落的玩具碎片和它们的形状有关的东西,使得哪怕新手也会很自然地企图把它们排列起来,并加以适当组合,就好似《俄罗斯方块》触动了我们某些内在的感官,使得哪怕是我们当中最杂乱无章的人也要把事情整理妥当。 在曾经发布过的所有游戏中,《俄罗斯方块》还被认为是仅有的一个能够真正吸引广泛人群的作品。某些批评家也许会声称,《俄罗斯方块》要比过去二十年间出现的任何东西都要浪费人们的时间。至于我们,则要欣然提名它为GameSpot评选出的历史上最伟大游戏之一。 为了怀念经典,也为了能够给大多的计算机用户在工作之余找到一个休闲、娱乐的一个方式,我们小组开始着手用VB语言开发一个经典的俄罗斯方块游戏。 工程概况 1.1 项目名称 俄罗斯方块游戏 1.2 设计平台 VB 全称Visual Basic,它是以Basic语言作为其基本语言的一种可视化编程工具。 Vb是microsoft公司于1991年退出的windows应用程序开发工具visual意思是“可视化的”。在它刚推出来时,自身还存在一些缺陷,功能也相对少一些。但是经过多年的开发研究。最近microsoft公司又推出了VB6.0版本 VB6.0运行环境:硬件,要求486以上的处理器、16MB以上内存,50MB 以上的硬盘,cd-rom驱动器,鼠标。软件:要求windows 95以上版本。 1.3程序设计思想 游戏是用来给大家娱乐的,所以要能在使用的过程中给大家带来快乐,消除大家的疲劳,所以我们在游戏中添加了漂亮的场景和动听的音乐,设置了过关升级的功能,激发大家的娱乐激情。 从游戏的基本玩法出发,主要就是俄罗斯方块的形状和旋转,我们在设计中在一个图片框中构造了一个4*4的网状小块,由这些小块组合成新的形状,每四个小块连接在一起就可以构造出一种造型,因此我们总共设计了7中造型,每种造型又可以通过旋转而变化出2到4种形状,利用随机函数在一个预览窗体中提前展示形状供用户参考,然后将展示的形状复制到游戏窗体中进行摆放,在游戏窗体中用户就可以使用键盘的方向键来控制方块的运动,然后利用递归语句对每一行进行判断,如果有某行的方块是满的,则消除这行的方块,并且使上面的方块自由下落,其中,方块向下的速度是有时钟控件控制的,在游戏中,用户也可以使用向下键加快下落速度,定义一个变量,对消除的函数进行记录,最后就可以得出用户的分数,用if 语句对分数判断,达到一定的积分就可以升级到下一个档次。 俄罗斯方块游戏设计的主要步骤为以下10个方面: (1)游戏界面的设计。 (2)俄罗斯方块的造型。 (3)俄罗斯方块的旋转。 (4)俄罗斯方块的运动情况(包括向左,向右和向下)。 (5)俄罗斯方块的自动消行功能。 (6)游戏级别的自由选择。 (7)游戏速度的自由选择。 (8)游戏得分的计算。 (9)游戏菜单选项的设计及功能实现。 (10)游戏的背景音乐。 1.4运用的控件和主要对象 我们在设计过程中主要用到的控件有:command控件,image控件,picture控件,label控件,timer控件,text控件,windows media player控件等等。 1.5主要实现的功能 我们开发的俄罗斯方块游戏,主要实现了以下几种功能: 1.可以灵活控制方块在图形框中运动。 2.游戏过程中方块可以自由旋转。 3.当某一行的方块排列满时,将自动将这一行方块消除,然后将上面所有方块向下移动,可以支持连续消行。 4.游戏前可以选择游戏的速度和游戏的等级,游戏速度既为方块下落速度,游戏等级为初始游戏时在基层随机生成一定行数的无规律方块,生成的行数由你来选择,每行至少产生5个以上的无规律方块,这样增加了游戏难度,对于游戏高手来说,无疑不是一个新的挑战。 5.游戏的得分支持积分,并且按照公式: 得分 = 原来分数+ 100 * (2 ^ 同时消除的行数-1) 这样,你同一时间消除
5.36现在RTM! NEW /改进: 现在有一个内置的互动正则表达式实用!按下Ctrl + Shift + F1,或选择帮助菜单上的选项。该实用程序实现为LINQPad脚本 - 点击内置样品进行查看。 LINQPad现在包括编写交互查询一组HTML控件。不像WPF和Windows窗体控件,这些呈现在相同的输出面板的结果。要使用它们,只是实例化和甩掉他们: //所有控制住在LINQPad.Controls命名空间。 VAR = TXT新文本框()转储(); 。txt.TextInput + =(发件人,参数)=> $ “您键入{txt.Text}” 转储(); 点击这里为一个交互式的教程。 该的NuGet搜索引擎现在可以识别SemVer2抢鲜封装,并采用了新的速度更快的API。 现在,您可以参考的NuGet包,其中包括唯一的本地的DLL,如Microsoft.ChakraCore。要调用本地方法,设置查询类型为“C#程序”,并声明要调用与适当的DllImport属性前缀的方法。 LINQPad现在标识与重复扩展在Content_Types.xml属性,并自动删除重复的,这样的包装载机不会引发InvalidOperationException的NuGet包。 C#7.3现在支持。 当连接到SQL Azure的,你现在可以选择通用Active Directory身份验证,与多因素认证支持。 有在LINQPad的的Util类新方法来加载/字符串或字节数组保存到一个中央计算机存储(查询之间共享)。这些方法Util.SaveString,Util.SaveBytes,Util.LoadString和Util.LoadBytes。 LINQPad的嵌入式ILSpy现在已经更新到V4。 现在,您可以启用或在每次查询禁用编译器优化,通过启动用下面的代码查询: #LINQPad优化+ //要强制在此查询优化 #LINQPad optimize- //要强制关闭优化此查询 在SQL连接对话框,当您选择“显示在TreeView中所有数据库”选项,一个复选框,现在看来可以让你选择是否要自动填充在启动数据库列表。 (F#)使用类供应商,LINQPad现在可以正确地逃脱在自动完成列表成员名称空间。 (F#)现在有一个选项,编辑| 偏好| 高级>执行强制LINQPad始终使用其内部的F#的编译器,即使在F#已经被安装在计算机上。当F#已部分或安装不正确这可能是有用的。 当使用LPRun经由命令行来执行脚本,你现在可以明确地控制%ERRORLEVEL% - 无论是通过返回从主的整数值,或通过设置Environment.ExitCode。如前所述,如果你的脚本抛出一个异常,%ERRORLEVEL%会1。 LINQPad 5.36支持最新的实体框架核心驱动力,这与EF 2.x的所有版本进行互操作 用于.NET标准组件支持有了进一步的提高,随着.deps.json文件中列出的NuGet依赖性自动分辨率。 固定: 调试器现在可以正确步骤通过F#程序。 拆卸F#程序时,有关解决FSharp.Core.dll错误已得到修复。 通过局部变量掩盖捕获变量现在在调试本地窗口中正确显示。 当倾倒不可枚举的项目一格,可为空的bool不再导致格式错误。 当显示在自动完成列表和工具提示XML文档的摘要,标签不再理会。 造成大量的NuGet组件的编辑器性能问题已得到修复。 在证书的认证中饲料的NuGet处理的错误已经被修正了。 Util.Cache现在可以用非常大的对象可靠地使用。 对于3个显示器在Windows 10上运行时报告非常缓慢的自动完成功能的用户,这个现在应该是固定的。 此版本包含了一个解决方法.NET安全问题。

110,502

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧