我被要求删除或禁用我们的VB .NET 2005 MDI应用程序中的关闭按钮.表单上没有允许您使关闭按钮变灰的本地属性,因此用户无法关闭它,我不记得在表单类中看到任何允许我这样做的内容.
是否可能有一个API调用或一些神奇的属性来设置或运行.NET 2005或更高版本来执行此操作?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
更多信息:
我需要保持最小化/最大化功能
根据您添加到问题中的最新信息,跳到我的答案结尾.
这是您需要设置为false:Form.ControlBox Property
但是,您将丢失最小化和最大化按钮以及应用程序菜单(左上角).
作为替代方法,重写OnClose并将Cancel设置为true(C#示例):
protected override void OnFormClosing(FormClosingEventArgs e) { if (e.CloseReason != CloseReason.WindowsShutDown && e.CloseReason != CloseReason.ApplicationExitCall) { e.Cancel = true; } base.OnFormClosing(e); }
如果这些解决方案都不可接受,并且您必须仅禁用关闭按钮,则可以使用pinvoke / createparams路径:
How to disable close button from window form using .NET application
这是jdm代码的VB版本:
Private Const CP_NOCLOSE_BUTTON As Integer = &H200 Protected Overloads Overrides ReadOnly Property CreateParams() As CreateParams Get Dim myCp As CreateParams = MyBase.CreateParams myCp.Classstyle = myCp.Classstyle Or CP_NOCLOSE_BUTTON Return myCp End Get End Property
原文地址:https://www.jb51.cc/vb/255779.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。