ShowInTaskbar引起的winform闪烁问题

简介: 问题描述:     在程序中频繁对某个窗体的ShowInTaskbar进行显示、隐藏操作,极易引起窗体的闪烁。 现象描述:     当你做一些比较重要的事情时,你可能不希望程序不经意被异常退出。

问题描述:
    在程序中频繁对某个窗体的ShowInTaskbar进行显示、隐藏操作,极易引起窗体的闪烁。

现象描述:
    当你做一些比较重要的事情时,你可能不希望程序不经意被异常退出。为此你可能为了屏蔽右键菜单点击关闭引发Ctopic_FormClosed事件引发的程序非正常退出现象(这是十分令人头痛的),而频繁的进行ShowInTaskbar=true,ShowInTaskbar=false这样的操作。

    如果你真这样做,闪屏会将你搞得十分狼狈。

image

 

    为了避免这种现象,干脆一不做二不休,直接不让窗体显示ControlBox(其中controlBox的close与右键菜单的close都是触发FormClosed事件的)

image

 

同时将窗体关闭事件屏蔽:


  1. ///
  2. /// 屏蔽FORM的右上角关闭及右键菜单的关闭事件
  3. ///
  4. protected override void WndProc(ref Message m)
  5. {
  6.     const int WM_SYSCOMMAND = 0x0112;
  7.     const int SC_CLOSE = 0xF060;
  8.     if (m.Msg == WM_SYSCOMMAND && (int)m.WParam == SC_CLOSE)
  9.     {
  10.         return;
  11.     }
  12.     base.WndProc(ref m);
  13. }
相关文章
|
存储 算法 NoSQL
还分不清 Cookie、Session、Token、JWT?看这一篇就够了
Cookie、Session、Token 和 JWT(JSON Web Token)都是用于在网络应用中进行身份验证和状态管理的机制。虽然它们有一些相似之处,但在实际应用中有着不同的作用和特点,接下来就让我们一起看看吧,本文转载至http://juejin.im/post/5e055d9ef265da33997a42cc
47350 13
|
XML Java Android开发
Android Studio App开发之服务Service的讲解及实战(包括启动和停止,绑定与解绑,推送服务到前台实现音乐播放器,附源码)
Android Studio App开发之服务Service的讲解及实战(包括启动和停止,绑定与解绑,推送服务到前台实现音乐播放器,附源码)
1500 0
|
11月前
|
消息中间件 监控 数据可视化
基于.NET开源、功能强大且灵活的工作流引擎框架
基于.NET开源、功能强大且灵活的工作流引擎框架
270 3
|
Arthas 监控 Java
深入解析与解决高并发下的线程池死锁问题
在高并发的互联网应用中,遇到线程池死锁问题导致响应延迟和超时。问题源于库存服务的悲观锁策略和线程池配置不当。通过以下方式解决:1) 采用乐观锁(如Spring Data JPA的@Version注解)替换悲观锁,减少线程等待;2) 动态调整线程池参数,如核心线程数、最大线程数和拒绝策略,以适应业务负载变化;3) 实施超时和重试机制,减少资源占用。这些改进提高了系统稳定性和用户体验。
560 2
|
vr&ar C# 图形学
WPF与AR/VR的激情碰撞:解锁Windows Presentation Foundation应用新维度,探索增强现实与虚拟现实技术在现代UI设计中的无限可能与实战应用详解
【8月更文挑战第31天】增强现实(AR)与虚拟现实(VR)技术正迅速改变生活和工作方式,在游戏、教育及工业等领域展现出广泛应用前景。本文探讨如何在Windows Presentation Foundation(WPF)环境中实现AR/VR功能,通过具体示例代码展示整合过程。尽管WPF本身不直接支持AR/VR,但借助第三方库如Unity、Vuforia或OpenVR,可实现沉浸式体验。例如,通过Unity和Vuforia在WPF中创建AR应用,或利用OpenVR在WPF中集成VR功能,从而提升用户体验并拓展应用功能边界。
336 1
|
存储 编解码
FFmpeg开发笔记(三十)解析H.264码流中的SPS帧和PPS帧
《FFmpeg开发实战》书中介绍了音视频编码历史,重点讲述H.264的成功在于其分为视频编码层和网络抽象层。H.264帧类型包括SPS(序列参数集,含视频规格参数),PPS(图像参数集,含编码参数)和IDR帧(立即解码刷新,关键帧)。SPS用于计算视频宽高和帧率,PPS存储编码设置,IDR帧则标志新的解码序列。书中还配以图片展示各帧结构详情,完整内容可参考相关书籍。
663 7
FFmpeg开发笔记(三十)解析H.264码流中的SPS帧和PPS帧
|
人工智能 编解码 算法
Stable Diffusion超详细教程!从0-1入门到进阶
本文提供了Stable Diffusion AI绘画工具的超详细入门到进阶教程,包括本地部署、界面基础、模型选择、ControlNet安装与使用,以及如何通过不断学习和调试提升使用效果。
Stable Diffusion超详细教程!从0-1入门到进阶
|
XML Java 数据格式
【Spring】全面讲解IOC、AOP、注入方式、bean的生命周期、aop通知应用 spring与web容器整合
Spring是一个开源的轻量级Java应用开发框架,它提供了一种简单、高效、灵活的方式来构建企业级应用程序。Spring框架的核心特点是依赖注入(Dependency Injection)和面向切面编程(Aspect-Oriented Programming),它通过一组模块化的组件提供全面的支持,使开发人员能够快速搭建可扩展、可维护的应用。
|
SQL 开发框架 关系型数据库
基于SqlSugar的数据库访问处理的封装,支持多数据库并使之适应于实际业务开发中
基于SqlSugar的数据库访问处理的封装,支持多数据库并使之适应于实际业务开发中
|
Java Maven
修改配置maven镜像仓库位置,将maven镜像更换成阿里镜像
修改配置maven镜像仓库位置,将maven镜像更换成阿里镜像
5292 0