You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VB.Net如何同时实现防闪烁与禁用ALT+F4功能

解决:同时实现防闪烁和禁用ALT+F4的方法

嘿,这个问题其实很好搞定!你之所以不能同时用两段代码,是因为同一个窗体类里不能重复重写同一个CreateParams属性。咱们只需要把两个功能的逻辑整合到同一个属性重写里就可以了。

直接上整合后的完整代码,你把这段放到目标窗体的代码里就行:

' 同时实现防闪烁 + 禁用ALT+F4关闭窗体
Protected Overrides ReadOnly Property CreateParams() As CreateParams
    Get
        Dim cp As CreateParams = MyBase.CreateParams
        
        ' 开启WS_EX_COMPOSITED样式,解决窗体闪烁问题
        cp.ExStyle = cp.ExStyle Or &H2000000
        
        ' 添加CS_NOCLOSE类样式,禁用ALT+F4关闭窗体
        Const CS_NOCLOSE As Integer = &H200
        cp.ClassStyle = cp.ClassStyle Or CS_NOCLOSE
        
        Return cp
    End Get
End Property

简单解释下:

  • 我们只重写一次CreateParams,在同一个Get方法里同时处理两个样式设置
  • 用Or操作符是把新的样式追加到原有样式上,不会覆盖掉彼此的设置,所以两个功能都能生效

替换掉你原来的两段代码,就能同时拥有防闪烁和禁用ALT+F4的功能咯!

内容的提问来源于stack exchange,提问作者Adam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 08:38:54