【C#】 一个窗体能够显示、最小化、最大化、关闭时分别触发方法

在C#的WPF应用程序中,窗体(即继承自System.Windows.Window的类)能够通过处理以下事件来响应显示、最小化、最大化和关闭操作:

1.显示

窗体显示时没有直接对应的事件,但你可以通过覆盖OnLoaded方法或订阅Loaded事件来实现在窗体加载完成并显示时执行某些操作。

public MyWindow()
{InitializeComponent();Loaded += MyWindow_Loaded;
}private void MyWindow_Loaded(object sender, RoutedEventArgs e)
{// 在这里放置窗体显示时要执行的代码
}

2.最小化

可以通过订阅StateChanged事件并检查WindowState属性来检测窗体是否变为最小化状态。

public MyWindow()
{InitializeComponent();StateChanged += MyWindow_StateChanged;
}private void MyWindow_StateChanged(object sender, EventArgs e)
{if (WindowState == WindowState.Minimized){// 窗体被最小化时执行的代码}
}

3.最大化

同样,通过StateChanged事件来检测窗体是否变为最大化状态。

private void MyWindow_StateChanged(object sender, EventArgs e)
{if (WindowState == WindowState.Maximized){// 窗体被最大化时执行的代码}
}

4.关闭

可以通过订阅ClosingClosed事件来处理窗体关闭前后的逻辑。

  • Closing事件在窗体开始关闭过程时触发,此时还可以取消关闭操作。

public MyWindow()
{InitializeComponent();Closing += MyWindow_Closing;
}private void MyWindow_Closing(object sender, CancelEventArgs e)
{// 可以在这里决定是否取消关闭操作// e.Cancel = true; // 设置为true将取消关闭// 窗体关闭前执行的代码
}
  • Closed事件在窗体已经关闭后触发,不能取消关闭操作。

public MyWindow()
{InitializeComponent();Closed += MyWindow_Closed;
}private void MyWindow_Closed(object sender, EventArgs e)
{// 窗体已经关闭后执行的代码
}

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/844727.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

外卖系统开发的技术栈和架构设计

开发一个功能完备且高效的外卖系统,需要选择合适的技术栈并设计良好的系统架构。本文将详细介绍外卖系统开发过程中常用的技术栈以及架构设计的关键要点,帮助开发者构建一个高性能、可扩展且易维护的外卖平台。 1. 技术栈选择 选择合适的技术栈是开发…

Linux进程和计划任务管理

文章目录 一、进程管理1.1 进程管理概念1.2 查看进程信息1.2.1 ps命令------静态查看进程信息方法一:ps -aux方法二:ps -elfps命令结合管道符 1.2.2 top命令------动态查看进程信息top查看结果解释操作技巧 1.2.3 pgrep命令1.2.4 jobs命令 1.3 结束进程1…

工控一体机5寸显示器电容触摸屏(YA05WK)产品规格说明书

如果您对工控一体机有任何疑问或需求,或者对如何集成工控一体机到您的业务感兴趣,可移步控芯捷科技。 一、硬件功能介绍 YA05WK是我公司推出的一款新型安卓屏,4核Cortex-A7 架构,主频1.2GHz的CPU。采用12V供电,标配5寸…

UML 在 vs-code上的快速使用

UML 在 vs-code上的快速使用 1.软件准备工作2.创建第一张甘特图2.1 创建 UML文件: xxxx. puml2.2 输入甘特图代码2.3 VS code 生成甘特图 结束 。 1.软件准备工作 使用的软件为:VS CODE使用插件 : PluntUML2.创建第一张甘特图 2.1 创建 UML文件: xxxx. …

认识NoSql

SQL是结构化的,NoSql是非结构化的 SQL是关联的: Nosql是无关联的: SQL采用的是SQL查询: 语法固定,好处是:只要是关系型数据库(Mysql,Oracle),都能够使用相同的语句进行查…

计算机毕业设计 | SpringBoot个人博客管理系统(附源码)

1,绪论 1.1 背景调研 在互联网飞速发展的今天,互联网已经成为人们快速获取、发布和传递信息的重要渠道,它在人们政治、经济、生活等各个方面发挥着重要的作用。互联网上发布信息主要是通过网站来实现的,获取信息也是要在互联网中…

Javascript 基础知识 —— 重写数组方法

1、写一个函数,实现深度克隆对象 const obj {name: "LIYUFAN",age: 25,career: "初级前端工程师",info: {field: ["JS", "CSS", "HTML"],framework: ["React", "Vue", "Angular"…

521源码-免费手游下载-【烽火中原H5】深度体验:横版网页国战手游及WIN学习手工端

【烽火中原H5】深度体验:横版网页国战手游及WIN学习手工端全面解析,烽火中原H5】横板网页国战手游WIN学习手工端语音视频教程营运后台CDK授权后台, 喜欢国战手游的玩家们,你们期待已久的【烽火中原H5】现已上线!这款游戏以横版网页的形式呈现…

揭开神秘的“位移主题”面纱 no.16

Kafka中神秘的内部主题(Internal Topic)__consumer_offsets。 consumer_offsets在Kafka源码中有个更为正式的名字,叫*位移主题*,即Offsets Topic。为了方便今天的讨论,我将统一使用位移主题来指代consumer_offsets。需…

Vue3 双向绑定

需求&#xff1a;父和子实现双向数据绑定 &#xff08;Vue3.4&#xff09; 单参数实现&#xff1a; 父组件------------------<UserNamev-model:first-name"first"v-model:last-name"last" />子组件&#xff1a;------------<script setup> c…

Kotlin学习笔记 泛型

在 Kotlin 中&#xff0c;T 通常用作类型参数的占位符&#xff0c;它在实例化或传递参数时会被替换成具体的类型。 Kotlin 支持泛型&#xff0c;这意味着您可以编写可以与多种数据类型一起工作的代码&#xff0c;而不必为每种数据类型编写单独的代码。 ### 泛型类和函数 在 …

记录贴 Elasticsearch的RestClient进行DSL查询

must&#xff1a;必须匹配每个子查询&#xff0c;类似“与” should&#xff1a;选择性匹配子查询&#xff0c;类似“或” must_not&#xff1a;必须不匹配&#xff0c;不参与算分&#xff0c;类似“非” filter&#xff1a;必须匹配&#xff0c;不参与算分 import cn.huto…

Kali 我来了

Kali 我来了 1、官网下载2、修改密码3、开启SSH远程登录服务4、关闭kali图形化界面 1、官网下载 官方链接: https://www.kali.org/ 下载链接: https://cdimage.kali.org/kali-2024.1/kali-linux-2024.1-vmware-amd64.7z 解压后 直接导入 VmWare 就可使用可爱的小 Kali 了。 …

AOP——学习

AOP&#xff08;面向切面编程&#xff09;是Spring框架的重要特性之一&#xff0c;用于分离关注点并处理横切关注点&#xff0c;如日志记录、安全性和事务管理。在面试中&#xff0c;AOP相关的问题通常会涉及基本概念、应用场景、实际使用、以及与其他编程范式的比较。以下是一…

LabVIEW机器设备的振动监测

振动监测是工业和机械维护中重要的一部分&#xff0c;通过检测和分析机械振动&#xff0c;提前发现潜在故障&#xff0c;确保设备的可靠运行。LabVIEW是一种强大的图形化编程环境&#xff0c;非常适合用于振动监测系统的开发和实施。以下从多个角度详细介绍LabVIEW在振动监测中…

互联网应用主流框架整合之数据库编程

Spring最重要的功能就是操作数据&#xff0c;数据库编程也是互联网编程的基础&#xff0c;Spring为开发者提供了JDBC模板模式&#xff0c;使用JdbcTemplate可以简化许多编码工作&#xff0c;同时也提供了TransactionTemplate支持事务的模板&#xff0c;但都不是常用技术&#x…

管理能力学习笔记十一:如何通过反馈做好辅导

关于辅导的常见错误 辅导过于细致 辅导的首要障碍: 不相信对方的潜力需要有成长型思维&#xff1a;即便员工现在不OK&#xff0c;未来会更好因材施教&#xff1a;对不同风格的下属&#xff0c;采取不同的辅导风格 凡事亲力亲为 作为管理者&#xff0c;我们要做的是&#xf…

【Unity2D 2022:Particle System】添加粒子特效

一、创建粒子系统游戏物体 1. 创建粒子系统游戏物体Smog Effect 2. 给粒子特效添加精灵贴图 &#xff08;1&#xff09;启用Texture Sheet Animation&#xff08;纹理表动画&#xff09; &#xff08;2&#xff09;点击加号添加一个纹理&#xff0c;并将两张厌恶图片导入到纹理…

【YashanDB知识库】OCI驱动类问题定位方法

【标题】OCI驱动类问题定位方法 【需求分类】故障分析 【关键字】OCI 【需求描述】由于我们的OCI接口目前尚不完善&#xff0c;经常会遇见OCI接口能力不足导致应用功能无法运行的问题&#xff0c;需要定位手段确定底层是哪个接口报错 【需求原因分析】方便一线数据库管理员…

使用jdk自带jhat工具排查OOM问题

使用jdk自带jhat工具排查OOM问题 OOM java.lang.OutOfMemoryError: Java heap space排查步骤 编写一个测试类 public class TestJVM {Testpublic void test1() throws InstantiationException, IllegalAccessException {List<A> list new ArrayList<>();for (i…