vb.net禁止程序窗口的“关闭”按钮(转载+亲自实践)
2013-08-28 11:30
531 查看
vb.net写程序,生成的窗口默认右上角都有最大化,最小化和关闭按钮
其中最大化和最小化按钮可以通过窗口的属性直接删除
有时候需要将“关闭”按钮禁止,
可以通过编写简单程序实现。
具体方法如下:
新建一个名叫common.vb的文件,将以下内容写入其中,
方便其他窗口调用
PublicClassCommon
PrivateDeclareFunctionGetSystemMenuLib"User32"(ByValhwndAsInteger,ByValbRevertAsLong)AsInteger
PrivateDeclareFunctionRemoveMenuLib"User32"(ByValhMenuAsInteger,ByValnPositionAsInteger,ByValwFlagsAsInteger)AsInteger
PrivateDeclareFunctionDrawMenuBarLib"User32"(ByValhwndAsInteger)AsInteger
PrivateDeclareFunctionGetMenuItemCountLib"User32"(ByValhMenuAsInteger)AsInteger
PrivateConstMF_BYPOSITION=&H400&
PrivateConstMF_DISABLED=&H2&
'禁用窗口右上角的“关闭”按钮
PublicSubDisableCloseButton(ByValwndAsForm)
DimhMenuAsInteger,nCountAsInteger
'得到系统Menu
hMenu=GetSystemMenu(wnd.Handle.ToInt32,0)
'得到系统Menu的个数
nCount=GetMenuItemCount(hMenu)
'去除系统Menu
CallRemoveMenu(hMenu,nCount-1,MF_BYPOSITIONOrMF_DISABLED)
'重画MenuBar
DrawMenuBar(wnd.Handle.ToInt32)
EndSub
EndClass
然后在需要该功能的窗口的Load方法中调用DisableCloseButton方法
PublicSubFormChangePassWord_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load
Me.Visible=True
common.DisableCloseButton(Me)
EndSub
相关文章推荐
- vb.net 禁止调整窗口大小(亲自实践)
- vb.net从DataGridView复制到Excel.代码实现,解决中文乱码问题 (转载+亲自实践)
- vb.net窗口间调用(亲自实践)
- vb.net 日期插件DateTimePicker设定默认值(转载 + 亲自实践)
- VB.NET中对象的克隆 (转载+亲自实践)
- VB.NET连接SQL server数据库解决方案(转载+亲自实践)
- VB.NET关闭窗体时最小化(附带解决.NET程序导致XP无法关机重启的问题)
- VB 编程中如何使窗口右上角的关闭按钮(X)失效
- VB.NET窗口渐淡关闭
- c#(或vb.net)程序改进 (转载)
- 禁用form/窗口的关闭按钮(来自网上的vb代码)
- vb.net 判断文件夹存在并创建文件夹(亲自实践)
- VB.net应用窗口设定默认按钮
- java swing中点击按钮后弹出JFrame窗口,关闭弹出的窗口,程序都关了的解决方案
- 禁止MDI子窗口的关闭按钮\MDI中多视排列显示方式
- VB.NET取得登录计算机系统的用户名(亲自实践)
- VB.Net实现窗口渐淡关闭的方法
- VB.NET窗口渐淡关闭
- vb.net取得Excel中的全部sheet名称(亲自实践)
- Ubuntu10.10修改关闭窗口按钮位置(转载)