怎么实现"What's This"菜单项,急急急!

whatapig 2004-10-27 05:32:16
各位大大,对话框中可以设置HelpButton为true,支持上下文帮助。这个功能怎样加到主菜单的Help->What's this中。象Word2000中就有这样的功能。MFC框架提供这样的支持,但是在.Net中好像没有这样的东西。各位大哥怎到怎样做么?或者哪里有第三方的库实现的。
...全文
36 点赞 收藏 3
写回复
3 条回复
whatapig 2004年10月28日
我要做到的事情,实际上是编写这样的一个菜单项:当点击这个菜单的时候,鼠标的指针变成问号,然后点击任何一个本应用程序中的元素的时候,可以显示相关的帮助。
在Form中,把HelpButton设置成为true,可以自动的提供这样的功能,而我要做的是在菜单中的实现,相当于做一个HelpButton(不是为具体的控件设置HelpProvider做的事情),例子就是Word2000中的Help菜单组中的What's This.
回复 点赞
langtao5391 2004年10月27日
编译一个帮助文件,.net中调用就可以了,我这有一个调用.txt的例子通过C#程序调用外部程序

参考一下吧。
[转贴:]
 /*
* 编程语言:Visual Studio .NET C# (Beta 2)
* 功 能:通过C#程序调用 Windows 记事本程序 编辑一个
* 名为 test.txt 的文本文件。
*
* 在整个程序中 System.Diagnostics.Process.Start(Info)
* 为主要语句。
* 如果只是单独执行一个外部程序,可用一条如下代码即可:
* System.Diagnostics.Process.Start(
* "外部程序名","启动参数");
*/



using System;



class test
{
static void Main()
{



//声明一个程序信息类
System.Diagnostics.ProcessStartInfo Info = new System.Diagnostics.ProcessStartInfo();



//设置外部程序名
Info.FileName = "notepad.exe";



//设置外部程序的启动参数(命令行参数)为test.txt
Info.Arguments = "test.txt";



//设置外部程序工作目录为 C:\
Info.WorkingDirectory = "C:\\";



//声明一个程序类
System.Diagnostics.Process Proc ;



try
{
//
//启动外部程序
//
Proc = System.Diagnostics.Process.Start(Info);
}
catch(System.ComponentModel.Win32Exception e)
{
Console.WriteLine("系统找不到指定的程序文件。\r{0}", e);
return;
}



//打印出外部程序的开始执行时间
Console.WriteLine("外部程序的开始执行时间:{0}", Proc.StartTime);



//等待3秒钟
Proc.WaitForExit(3000);



//如果这个外部程序没有结束运行则对其强行终止
if(Proc.HasExited == false)
{
Console.WriteLine("由主程序强行终止外部程序的运行!");
Proc.Kill();
}
else
{
Console.WriteLine("由外部程序正常退出!");
}
Console.WriteLine("外部程序的结束运行时间:{0}", Proc.ExitTime);
Console.WriteLine("外部程序在结束运行时的返回值:{0}", Proc.ExitCode);
}
}

回复 点赞
jkflyfox 2004年10月27日
你可以写个chm帮助文件,然后在帮助按钮的处理中,根据上下文中的信息,比如是一个字符串,显示帮助文件中的相应项,一般是用索引对应。
用HelpProvider类和 System.Windows.Forms.Help.ShowHelp()方法
回复 点赞
发动态
发帖子
C#
创建于2007-09-28

8.5w+

社区成员

64.0w+

社区内容

.NET技术 C#
社区公告
暂无公告