vb中如何将窗体右上角的关闭功能封闭掉

wubaiyong 2005-02-17 02:17:44
vb中如何将窗体右上角的关闭功能封闭掉
...全文
243 6 打赏 收藏 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wubaiyong 2005-02-17
  • 打赏
  • 举报
回复
我知道API可以,现在因为比较急,请各位大侠贴出代码
xiongchen 2005-02-17
  • 打赏
  • 举报
回复
需要借助API了,因为系统没有提供这样的类
以下是VB.NET的代码:

'API声明

Private Declare Function GetSystemMenu Lib "User32" (ByVal hwnd As Integer, ByVal bRevert As Long) As Integer

Private Declare Function RemoveMenu Lib "User32" (ByVal hMenu As Integer, ByVal nPosition As Integer, ByVal wFlags As Integer) As Integer

Private Declare Function DrawMenuBar Lib "User32" (ByVal hwnd As Integer) As Integer

Private Declare Function GetMenuItemCount Lib "User32" (ByVal hMenu As Integer) As Integer

Private Const MF_BYPOSITION = &H400&

Private Const MF_DISABLED = &H2&



Private Sub disableX(ByVal wnd As Form)

Dim hMenu As Integer, nCount As Integer

'得到系统Menu

hMenu = GetSystemMenu(wnd.Handle.ToInt32, 0)

'得到系统Menu的个数

nCount = GetMenuItemCount(hMenu)

'去除系统Menu

Call RemoveMenu(hMenu, nCount - 1, MF_BYPOSITION Or MF_DISABLED)

'重画MenuBar

DrawMenuBar(Me.Handle.ToInt32)

End Sub



Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

'使用X不能用

disableX(Me)

End Sub



Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

'关闭窗口

Me.Close()

End Sub



'如果还要屏蔽Alt+F4,加上

Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)

Dim SC_CLOSE As Integer = 61536

Dim WM_SYSCOMMAND As Integer = 274

'判断是系统消息,是不是关闭窗体,使Alt+F4无效

If m.Msg = WM_SYSCOMMAND AndAlso m.WParam.ToInt32 = SC_CLOSE Then

Exit Sub

End If

MyBase.WndProc(m)

End Sub

3tzjq 2005-02-17
  • 打赏
  • 举报
回复
上面代码也可以,如果你还想隐藏 X 按钮就可以:me.ControlBox=False
T2 2005-02-17
  • 打赏
  • 举报
回复
Private Sub Form1_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
e.Cancel = True
End Sub
nga96 2005-02-17
  • 打赏
  • 举报
回复
听说API能行,好像没有直接的属性的
查一下API吧
wubaiyong 2005-02-17
  • 打赏
  • 举报
回复
并且保留最大化及最小化按钮
代码转载自:https://pan.quark.cn/s/c50a500cf555 在当今全球经济迅猛增长的背景下,通讯技术的持续进步使得个人之间的联系日益紧密,因此个人对其联系人信息的有效管理变得尤为重要。在此需求下,通讯录应运而生,各式各样的通讯录应用正不断为人们的生活带来便利。通讯录管理软件主要用于处理日常生活的同学、朋友等联系人的信息编辑,帮助用户随时获取所需联系人的全部资料。这款通讯录管理系统操作简便,用户能够通过该系统轻松完成添加、检索、更新、移除等基本的管理任务。软件的操作界面通常可以隐藏在屏幕的边缘区域,当用户的鼠标移至该区域时,操作界面会自动显现,用户仅需输入关键词(如联系人姓名)即可快速找到所需的通讯录数据。 【Java课程设计-通讯录系统】是一款基于Java编程语言开发的个人通讯录管理工具,其目的是协助用户高效地处理和查找联系人信息。该系统是在JDK 1.7.0和NetBeans 6.9.1集成开发环境构建的,提供了添加、检索、修改和删除联系人等核心功能,旨在为用户提供流畅的操作体验。 ### 一、需求分析 1. **基本功能**:系统需具备存储联系人姓名、电话、电子邮箱等核心数据的能力,并支持用户执行新增联系人、查找特定联系人、编辑现有联系人资料以及移除无用联系人等操作。 2. **搜索功能**:用户通过输入联系人姓名的关键字,系统能迅速定位到对应的联系人记录。 3. **界面友好**:界面设计需简洁明了,操作直观易用,软件窗口支持隐藏于屏幕边缘,并在鼠标接近时自动展示。 4. **数据保存**:系统必须实现联系人数据的持久化存储,确保程序关闭后数据不会丢失。 ### 二、任务分析 1. **主界面设计**:开发一个用户友好的主界...

16,718

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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