原文:WPF DispatcherTimer(定时器应用) 无人触摸60s自动关闭窗口 如果无人触摸:60s自动关闭窗口 xmal:部分 <s:SurfaceWindow x:Class="SurfaceApplication1.SurfaceWindow1"    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"    xmlns:x="http://schemas.…
WPF 使用定时器:<ProgressBar Height="10" HorizontalAlignment="Left" Margin="288,0,0,189" Name="progressBar1" VerticalAlignment="Bottom" Width="100" />后台: private void button1_Click(object sender,…
WPF中定时器使用的注意事项: WPF需要使用System.Windows.Threading.DispatcherTimer定时器,而不能使用System.Timers.Timer定时器.因为System.Timers.Timer运行在非UI线程,如果不使用SynchronizingObject属性,则该定时器启动的 子线程与窗体不在一个线程,不能访问WPF窗体中的控件(运行时会报该对象已被其他线程占用的异常),只能通过dialing的方式来访问,而System.Windows.Threadi…
原文:通过 AppSwitch 禁用 WPF 内置的触摸让 WPF 程序可以处理 Windows 触摸消息 WPF 框架自己实现了一套触摸机制,但同一窗口只能支持一套触摸机制,于是这会禁用系统的触摸消息(WM_TOUCH).这能够很大程度提升 WPF 程序的触摸响应速度,但是很多时候又会产生一些 Bug. 如果你有需要,可以考虑禁用 WPF 的内置的实时触摸(RealTimeStylus).本文介绍禁用方法,使用 AppSwitch,而不是网上广为流传的反射方法. 本文内容 如何设置 AppSw…
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head>   <title>JavaScript自动关闭窗口<…
原文:WPF 判断一个对象是否是设计时的窗口类型,而不是运行时的窗口 当我们对 Window 类型写一个附加属性的时候,在属性变更通知中我们需要判断依赖对象是否是一个窗口.但是,如果直接判断是否是 Window 类型,那么在设计器中这个属性的设置就会直接出现异常. 那么有没有什么方法能够得知这是一个设计时的窗口呢?这样就不会抛出异常,而能够完美支持设计器了. 本文内容 方法一:判断设计时属性 方法二:判断设计时窗口 方法一:判断设计时属性 WPF 原生自带一个附加属性可以判断一个依赖对象是否来源…
最近的工作项目中需要定时更新UI控件中的数据,这时候第一反应肯定会想到去使用System.Timers.Timer定时更新UI控件,但是程序运行后,会发现程序崩溃了.报的异常为“调用线程无法访问此对象,因为另一个线程拥有该对象.”,网上查找了原因,Timer的触发事件与UI不是属于同一个线程,所以说在Timer的触发事件去更新UI时,会造成UI对象被占用的问题.网上说,可以尝试用DispatcherTimer这个定时器去更新UI,于是我做个一个demo测试了一下,果然是可行的. 上面是一个WPF…
一.注意事项 引用命名空间:System.Windows.Threading.DispatcherTimer. 二.使用方法 var _timer = new DispatcherTimer(); _timer.Interval = new TimeSpan(0, 0, 1); //间隔1秒 _timer.Tick += new EventHandler(Timer_Tick); _timer.Start(); private void Timer_Tick(object sender, Eve…
//窗体加载完毕 void MyMessageBox_Loaded(object sender, RoutedEventArgs e) { //启动定时期倒计时,多线程计时 //System.Threading.Timer timer: //启动单线程计时 System.Windows.Threading.DispatcherTimer timer = new System.Windows.Threading.DispatcherTimer(); timer.Interval = , , );…
在软件开发中为了安全性,特别是那些需要用到用户名和密码登录服务端的程序,常常考虑长期无人操作,程序自动跳转到用户登录界面. 判断程序是否长时间无人操作,有两个依据,第一个是鼠标长时间不动,第二个是鼠标焦点长时间不在此程序中(即用户长时间在操作其他的程序). 一.鼠标长时间不动 在其他博客中看到过针对鼠标长时间不动这种情况的解决方案[1],参考此博客,将相应的代码加入到App.xaml.cs(代码如下),本文实现的是鼠标长时间不动(本例中设置10s不动)则重启该程序(因为对于需要账号密码登录的程序…