以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]主窗口最小化拦截 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=190102) |
-- 作者:张松波 -- 发布时间:2024/1/17 9:14:00 -- [求助]主窗口最小化拦截 老师,我想阻断BaseMainForm的最小化让其变成透明而不是最小化状态,以下代码,请帮忙看看哪里写错了,谢谢。 Public Class MainForm Inherits System.Windows.Forms.Form Const WM_SYSCOMMAND As Long = &H112 Const SC_MINIMIZE As Long = &HF020 Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message) If m.Msg = WM_SYSCOMMAND AndAlso m.WParam.ToInt32() = SC_MINIMIZE AndAlso BaseMainForm.CanFocus AndAlso Application.OpenForms.Count = 1 Then BaseMainForm.Opacity = 0 Return End If MyBase.WndProc(m) End Sub End Class |
-- 作者:有点蓝 -- 发布时间:2024/1/17 9:25:00 -- 做不到的。 上面代码只能拦截MainForm的最小化,和BaseMainForm没有什么关系。要继承BaseMainForm才行(如Inherits BaseMainForm),但是BaseMainForm是无法继承的,就算能继承了也用不了了。 |