小程序监听关闭按钮实例及开发说明

作者:小飞燕 发布时间:2021-03-12 08:27:23

导语本文整理了全网深受用户关注的个小程序监听关闭按钮实例及开发说明经验知识,可以帮助您全面了解代理怎么做,小白也能成为高手,跟随小编一起来看一看吧!

小程序开发的每一步都很难。刚接触小程序的开发人员,面对小程序监控关闭按钮的设置,头疼。小编为您带来了关于小程序监控关闭按钮的具体信息,包括例子、设计过程和小程序开发技术的描述,希望对大家有所帮助。

小程序监听关闭按钮的示例描述:

一般情况下,窗体右上角有比较大化、比较小化、关闭按钮。在mdi窗体中,为了避免重复打开同一个小程序窗口,有必要禁用窗口上的关闭按钮。这个例子实现了这个功能。

说到禁用,有人会说:直接用formclosing处理就行了:

1 ///

2 ///窗体关闭时的事件

3 ///

4 private void frmmain _ formclosing(对象发送者,formclosingeventargse)

5 {

6 e.cancel=true//取消关闭操作

7 }

当然,这是可以做到的,但是我们的目标是禁用灰色化,如下图所示:

运行效果如图:

是不是很神奇?我们知道比较小化按钮在比较大化时可以被禁用,但是关闭按钮怎么能被禁用呢?请参见以下生产流程:

小程序监控中关闭按钮的关键技术;

本例主要使用窗口处理方法wndproc的重写方法,在该方法内部截取关闭窗口的消息,从而实现禁用“关闭”按钮的功能。

使用getsystemmenu和enablemenuitem使“关闭”按钮变灰。

其他事件的使用等。

wndproc方法主要用于处理windows消息,语法格式如下:

1[security permissionattribute(security action . link demand,flags=security permissionflag . unmanaged code)]

2[security permissionattribute(security action . inheritance demand,flags=security permissionflag . unmanaged code)]

3受保护的虚拟void wndproc(ref消息m);

【注意:详细的功能描述请参考源代码中的备注。]

小程序监控关闭按钮的设计:

(1)打开visual studio,创建一个新的winform应用程序,并将其命名为stopclosebutton。

(2)定义以下成员变量和api声明:

1 private const int sc _ close=0xf 060;//定义关闭按钮对应的消息值

2 private const int mf _ enabled=0x 00000000;//禁用

3 private const int mf _ gray=0x 00000001;//灰色

4 private const int mf _ disabled=0x 00000002;//禁用

5 private const int wm _ sys command=0x 0112;//定义要拦截的消息类型

7 [dllimport('user32.dll ',entrypoint='getsystemmenu')]

8 private static extern int ptr getsystemmenu(int ptr hwnd,int bre vert);

10 [dllimport('user32.dll')]

11 public static extern bool enablemenuitem(int ptr hme nu,intuidenableitem,int uenable);

(2)重写wndproc方法,以达到用户“关闭”按钮时无响应的效果:

1 ///

2 ///重写wndproc方法,达到用户“关闭”按钮时无响应的效果

3 ///

4////要处理的windows消息

5受保护覆盖无效wndproc(参考消息m)

6 {

7 if((m . msg==wm _ syscommand)(int)m . wparam==sc _ close)//当鼠标“close”按钮时,8 {

9返回;//不做处理直接返回

10 }

11 base . wnd proc(ref m);//传递下一条消息

12 }

(3)不要急着跑,因为除了结束流程之外是关不上的。

所以,给自己留一条出路:放一个按钮,用它退出,在按钮的click事件中写出退出程序的方法:

1私人void button1_click(对象发送者,事件参数e)

2 {

3 application.exit

4 }

(4)运行后发现“关闭”按钮无法,但也没有变灰。

那是因为我们还没有调用enablemenuitem:

在窗体构造或加载事件中调用getsystemmenu和enablemenuitem函数,以实现“关闭”按钮变灰的效果:

1 private void frmmain_load(对象发送方,eventargs e)

2 {

3 int ptr hme nu=getsystemmenu(this . handle,0);//获取关闭按钮

4 enablemenuitem(hmenu,sc_close,(mf _ disabled mf _灰显)| mf _ enabled);//设置样式(参数可自定义)

5 }

(5)至此,这个小程序已经实现,细心的人会发现以下小bug:

虽然“关闭”按钮已被禁用,但当您点按下面的放大按钮时,虽然关闭按钮仍然无法使用,但灰色效果会消失。

那么解决办法就是禁用比较大化比较小化按钮(* _ *),或者在表单状态改变的情况下,再次调用以下灰显的小程序函数。

小编介绍了小程序监控关闭按钮的开发实例,包括实现小程序监控关闭按钮所需的关键技术和整个设计过程。相信有了微信小程序商店提供的这么详细的信息,设置小程序监控的关闭按钮应该很容易,大家赶紧上手吧!

下面是题目的开头。微信小程序表单有哪些组件?有什么用?标题到此结束

微信小程序的表单组件有哪些?有什么用?微信小程序表单的组件很多,所以微信小程序表单的功能比较全面。让我们一起来看看微信小程序表单和小编有哪些组件。有什么用?

微信小程序的表单组件有哪些?有什么用?

微信小程序表单按钮组件按钮

角色:applet按钮,顾名思义,是定义表单中按钮角色的组件。

微信小程序表单组件复选框

功能:内部有多个复选框的多项目选择器。复选框意味着能够选择多个项目。

微信小程序表单组件表单

角色:表单,提交用户在组件中输入的开关、输入、复选框、滑块、单选和选择器组件的内容。当您在表单中单击表单类型为submit的按钮组件时,您将在表单组件中提交值,并且您需要在表单组件中添加name作为键。

微信小程序表单组件输入框输入

功能:微信小程序表单中控制输入框的组件。

微信小程序表单组件标签

用于提高表单组件的可用性,使用for属性查找对应的id,或者将控件放在标签下,单击时会触发对应的控件。for优先于内部控件,当内部有多个控件时,默认情况下会触发第一个控件。目前可以绑定的控件有:按钮、复选框、单选、开关。

微信小程序表单组件选择器

功能:底部弹起的滚动选择器现在支持五个选择器,按模式区分,分别是普通选择器、多栏选择器、时间选择器、日期选择器、省份选择器,默认为普通选择器。

微信小程序表单组件选择器-视图

功能:嵌入式页面滚动选择器

微信小程序表单组件收音机

功能:单项选择器

微信小程序表单组件滑动选择器滑块

功能:幻灯片选择器

微信小程序表单组件切换开关

功能:开关选择器

微信小程序表单组件多行输入框文本区

功能:多行输入框

这是第一段的结尾。下面是加一段的结尾。微信小程序表单有哪些组件?有什么用?目前已经获得了617网友的青睐!正文到此结束

查看全文

猜你喜欢

微商怎么找货源

频道查询入口

微商代理怎么做