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
相关产品推荐
相关产品推荐

