1. Activated获得焦点事件 和 Deactivated失去焦点的事件:

Activated: 获得焦点 (首次打开软件时;由别的软件切换回当前软件时;点击当前软件在任务栏的按钮时)

Deactivated:失去焦点,与Activated正好相反,(Deactivated = de + activated)

使用方法有两种:

第一种是在XAML中声明,然后在后台书写执行代码:

在后台xxx.cs文件中书写Window_Activated方法:

private void Window_Activated(objectsender, EventArgs e)

{

System.Windows.MessageBox.Show("It is activating...");

}

第二种是都在后台书写代码:

public partial classMainWindow : Window

{publicMainWindow()

{

InitializeComponent();this.Activated +=Window_Activated;

}private void Window_Activated(objectsender, EventArgs e)

{

System.Windows.MessageBox.Show("It is activating...");

}

}

失去焦点Deactivated是用法与上述一致。

2. 关闭中Closing事件 和 已完全关闭Closed事件

由名字可以看出,Closing事件会比Closed事件早执行,

触发Closing事件的条件:调用Close()方法;点击软件的关闭按钮;或者使用快捷键Alt+F4关闭

注意:

如果窗口存在子窗口,那么调用Close()是不会触发子窗口的Closing事件的,即子窗口不会关闭;

如果想在关闭时也关闭所有子窗口,请调用Application的Shutdown()方法,用法如下:

Application.Current.Shutdown();//整个应用都关闭了,当然所有窗口都会关闭

Closing事件可以理解为,Window窗体正准备关闭,此时还是可以取消关闭操作的,但Closed事件则是无力回天了;

当用户退出log off或者关闭电脑,Closing方法也不会触发,但Application.SessionEnding事件会触发

3.ContentRendered事件

4.StateChanged事件

窗体状态改变事件,窗体状态WindowState是枚举类型

public enumWindowState

{

Normal= 0,

Minimized= 1,

Maximized= 2,

}

所以我们可以利用WindowState来判断窗体的状态来实现我们的需求

5.LocationChanged事件

6.DpiChanged事件

7.SourceInitialized事件

wpf 监听退出事件_WPF中常用的Window事件相关推荐

  1. java中的actionlistener_JAVA事件监听器之BUTTON类中的ADDACTIONLISTENER(ACTIONLISTENER L)方法...

    JAVA:事件监听器之Button类中的addActionListener(ActionListener l)方法 addActionListener public void addActionLis ...

  2. JS控制全屏,监听退出全屏事件

    先放個官方 Web API 接口 链接:全屏 API 网上基本都是这种: //全屏功能document.getElementById("ck_buts").onclick = fu ...

  3. js控制网页全屏,监听退出全屏动作

    //控制全屏方法 function requestFullScreen(element) {var requestMethod = element.requestFullScreen || //W3C ...

  4. Oracle导入dmp文件报12504,ORA-12504:TNS :监听程序在 CONNECT_DATA 中未获得SERVICE_NAME...

    使用本地的SQLPlus连接服务器上的Oracle数据库,这是由于本地有安装了Oracle数据库服务,所以才会系统先提示:ORA-12504: TNS: 监听程序在 CONNECT_DATA 中未获得 ...

  5. ORA-12504:TNS:监听程序在CONNECT_DATA中未获得SERVICE_NAME

    客户端配置好服务名后,用PL/SQL Developer连接数据库时,报错:ORA-12504:TNS:监听程序在CONNECT_DATA中未获得SERVICE_NAME.一般这种情况请检查tnsna ...

  6. php如何监听页面滚动,html5中在元素滚动条在滚动时触发的事件onscroll

    实例 元素滚动时执行 JavaScript 定义和用法 onscroll 事件在元素滚动条在滚动时触发. 提示: 使用 CSS overflow 样式属性来创建元素的滚动条. 浏览器支持 语法 HTM ...

  7. JAVA:事件监听器之Button类中的addActionListener(ActionListener l)方法

    addActionListener public void addActionListener(ActionListener l) 添加指定的动作侦听器,以接收发自此按钮的动作事件.当用户在此按钮上按 ...

  8. java中的actionlistener_JAVA:事件监听器之Button类中的addActionListener(ActionListener l)方法...

    1 import javax.swing.*; 2 import java.awt.*; 3 import java.awt.event.*; 4 public class FrameDemo 5 { ...

  9. Android屏幕触摸监听,Android在Fragment中实现监听触摸事件

    本文给大家介绍的是监听Fragment的触摸事件实现.如果大家有更好的机制,可以留言交流,下面来看看详细的介绍: 大家都知道,我们的activity中有onTouchEvent方法,可以用来实现触摸事 ...

最新文章

  1. 为什么java退出全屏_Java全屏模式与退出全屏:
  2. 机器学习(1)特征选择与特征抽取
  3. discuz7记录下url静态化的apache2.2配置
  4. 2020年, VQA论文汇总
  5. 单片微型计算机 第九章自测题,单片微型计算机网上练习题答案..doc
  6. 数学--数论-- HDU6298 Maximum Multiple 打表找规律
  7. 从零开始学python项目_从零开始可以这样学python
  8. 区块链101:区块链的应用和用例是什么?
  9. 机器学习线性回归案例讲解_09机器学习实战之简单线性回归
  10. U-Boot提供的指令
  11. 第11章 连接查询和分组查询
  12. Tensorflow:tfrecord数据读取和保存
  13. python 异步api ThreadPoolExecutor 、ProcessPoolExecutor(多线程、多进程)
  14. HTML5倍数功能视频播放器(加速2倍,1.5倍播放)
  15. iconfont在IE下不兼容问题
  16. GIS大数据解决方案
  17. 怎么获取微信公众号的音频视频
  18. 在 Jetpack Compose 中安全地使用数据流
  19. css处理图片下方留白问题
  20. bpm js 计算 音乐_推荐一个能检测歌曲bpm的插件

热门文章

  1. 基于SSH的整个简单web项目的建立(含配置文件)[所用软件为IntelliJ IDEA 2018.3.3 x64,运行环境为tomcat]
  2. mysql从库并行,MySQL 并行复制从库发生自动重启分析
  3. python自定义函数求差_[VBA]发布一个计算桩号之差的Excel自定义函数(VBA)
  4. Linux ftrace 1.5、syscall event
  5. HLA Epitope Registry-HLA抗原表位数据库
  6. Java中的编译错误和运行错误如何分辨
  7. 了解 ArcScene 与 ArcGlobe
  8. 限量发售 新鲜出炉的HighPoint NVMe系列SSD7540开箱测评
  9. 【博学谷学习记录】超强总结,用心分享 | 狂野大数据shell脚本个人学习复习记录—PART-03
  10. Badboy测试工具的使用