大学生做网站赚钱,wordpress设置文件大小,婚庆公司网站php源码,西部数码域名注册查询导言 前一段时间#xff0c;在编写程序的过程中#xff0c;需要一个帮助功能按钮。这个按钮众所周知#xff0c;按下按钮以后#xff0c;鼠标变成带有问号的鼠标#xff0c;然后点击画面上的控件#xff0c;然后就回出现一个提示的文本#xff0c;该处是什么含意。就好像…导言 前一段时间在编写程序的过程中需要一个帮助功能按钮。这个按钮众所周知按下按钮以后鼠标变成带有问号的鼠标然后点击画面上的控件然后就回出现一个提示的文本该处是什么含意。就好像右击“我的电脑”以后选择属性然后在出现的系统属性对话框中的右上角问号按钮一样。其实要实现该功能很简单我们只需要调用C#提供的HelpProvider类就可以了但是这里有一个问题如果我们使用该类显示帮助需要将窗体的HelpButton设置为TrueMaximizeBox设置为FalseMinimizeBox设置为False才能使用。那么我们有什么办法既可以让窗体有最大化最小化又可以让我们提供帮助按钮的功能呢 实现 我们为了实现该功能主要的办法是我们调用了API库“user32.dll”的SendMessage函数该函数发送了一条消息给窗体。首先我们在使用这个函数之前需要DLLImport相关的DLL并且定义好相关的参数代码如下 [DllImport( user32.dll, CharSet CharSet.Auto, SetLastError false )]private static extern IntPtr SendMessage( IntPtr hWnd, Int32 Msg, IntPtr wParam, IntPtr lParam );private const int WM_SYSCOMMAND 0x112;private const int SC_CONTEXTHELP 0xf180;我们定义完毕函数以后 需要定义一个HelpProvider对象该对象的作用是截断帮助的请求并且显示相应的提示。代码如下 private System.Windows.Forms.HelpProvider helpProvider1; helpProvider1.SetHelpString( textBox1, http://www.shehui001.com/ );//帮助所提示的内容 helpProvider1.SetShowHelp( textBox1, true );//将帮助信息与控件绑定最后我们实行帮助按钮仿真功能按钮在点击的事件中我们必须使用适当的参数调用SendMessage函数。代码如下 private void btnHelp_Click( object sender, EventArgs e ) { // 将Capture 设置为false, 将使控件不会接收到所有的鼠标消息: 当鼠标在窗体的外边时窗体是不会接收到任何消息. btnHelp.Capture false; // 利用SendMessage函数模仿帮助功能 SendMessage( this.Handle, WM_SYSCOMMAND, ( IntPtr )SC_CONTEXTHELP, IntPtr.Zero ); } 转载于:https://www.cnblogs.com/yangyang8848/archive/2009/08/10/1542569.html