WPF的退出】的更多相关文章

如果你在创建项目的时候细心的查看一下项目的结构,你会发现里面有一个App.xaml,一见到App我们知道是应用程序的关键了配置了,当然,WPF的启动窗体也在这里面设置的. 我们可以在App的中配置启动页,如下所示: 当然,我们还可以再App.cs重写OnStartUp来设置要启动的页面来设置启动的页面,如: public partial class App : Application { protected override void OnStartup(StartupEventArgs e)…
一.通过窗体中的按钮实现退出时数据保存提示 Xaml: <Grid> <TextBlock HorizontalAlignment="Left" Margin="152,159,0,0" TextWrapping="Wrap" Text="示例数据:" VerticalAlignment="Top" Height="20" Width="104" F…
需求:按MainWindow右上角的[X]想要退出软件时,弹窗提示是否确定要退出. 主界面(ShellWindow)的前台给主界面窗体添加两个事件:Closing和Closed <Window .... Closing="Window_Closing" Closed="Window_Closed"> 后台: // 主界面正要关闭 private void Window_Closing(object sender, System.ComponentMode…
很多时候,会自己写退出程序的代码. 比如,先显示登录框(LogIn),成功后隐藏它,并显示一个主窗体(MainWin),或者外部还调用了其他App,当你关闭MainWin不一定会直接退出整个程序的. 我们可以直接终止相关进程: ); 当然,你可能还想在退出前做一些什么,比如保存一下缓存数据,清空临时文件,等等操作,就需要这样, 在项目的 App 条目下增加关闭逻辑:(App.xaml.cs) /// <summary> /// App.xaml 的交互逻辑 /// </summary&g…
在正文开始之前需要介绍一个人:Sean Sexton. 来自明尼苏达双城的软件工程师.最为出色的是他维护了两个博客:2,000Things You Should Know About C# 和 2,000 Things You Should Know About WPF .他以类似微博式的150字简短语言来每天更新一条WPF和C#重要又容易被遗忘的知识.Follow他的博客也有一段日子了,很希望能够分享给大家. 本系列我不仅会翻译他的每一个tip,也会加入自己开发之中的看法和见解.本系列我希望自…
前几天我在CSDN扔了一个问题,基本描述一下:写了一段这样的代码,来实现获取Control的template,却发现一个这样的问题,就是当我打开了一个window以后,手动调用Close(),窗口的确是消失了,但是当我关闭了主窗口以后,却发现程序没有退出. private void ControlTypeSelectingBox_SelectionChanged(object sender, SelectionChangedEventArgs e) { try { Type type = Con…
前言 I should know how I am supposed to exit my application when the user clicks on the Exit menu item from the File menu. 或者点击window右上角的X退出应用. 但是退出应用程序时,应该考虑到哪些点呢? (1)有人认为在关闭应用前,应该触发一个确认窗口,指示用户是否确认退出,因为if there are jobs running, the force exit will ca…
1. 若需要控制 exe 实例数量 bool ret; mutex = new System.Threading.Mutex(true, exename, out ret); if (!ret) { //"系统已经启动" Environment.Exit(0); } 2. 退出时 public App() { Exit += App_Exit; } private void App_Exit(object sender, ExitEventArgs e) { try { Process…
最近在开发了一个程序中用到了PasswordBox控件,但是在程序给别人用的时候,鼠标一进入控件时程序就异常退出,查了下windows日志,错误显示如下: 应用程序: WpfPasswordTest2.exe Framework 版本: v4.0.30319 说明: 应用程序通过 System.Environment.FailFast(string message) 请求终止进程. 消息: 不可恢复的系统错误. 堆栈: 在 System.Environment.FailFast(System.S…
if (e.KeyStates == Keyboard.GetKeyStates(Key.F4) && Keyboard.Modifiers == ModifierKeys.Alt) { e.Handled = true; }…
近来觉得wpf做出来的界面很拉风,自己也很喜欢搞些小游戏,感觉这做出来的会很炫,很装逼,(满足自己的一点小小的虚荣心)于是就去自学,发现感觉很不错,可是属性N多,太多了,而且质料也少,很多不会用,只会写基本的操作,样式直接百度黏贴在自己改改,于是属于自己的扫雷就出来了,也只能做这等游戏了,用的知识少,代码也不多,wpf属性真是多啊,不过还是得学啊,下面也没什么好说的了,贴代码,扫雷也就一个递归而已,而且vs真心的开发神器啊 XAML <Window x:Class="SweepMineUI…
本项目环境:使用VS2010(C#)编写的WPF程序,通过CefSharp在程序的窗体中打开网页.需要能够实现网页后台JS代码中调用的方法,从网页接收数据,并能返回数据给网页.运行程序的电脑不允许上网,要求通过局域网内一个指定的代理服务器联网,并且只有该程序能通过代理服务器打开网页,直接用浏览器或其他应用程序仍然不允许上网(因此不能直接更改本机的LAN设置). 首先介绍一下CefSharp,它是基于Google浏览器的一个组件,是可以用在WPF/WinForm客户端软件中的嵌入式浏览器. 如果你…
本文转自:http://knightswarrior.blog.51cto.com/1792698/365351 一. 摘要 首先很高兴这个系列能得到大家的关注和支持,这段时间一直在研究Windows Azure,所以暂缓了更新,同时也本着想把它写好.宁缺毋滥的精神,在速度上自然也就慢了下来,这篇文章拖拖拉拉也经历了十多天才发布出来(每天写一 点),不过请大家放心,这个系列一定会继续写下去.由于自己才疏学浅且是对这些技术的使用总结和心得体会,错误之处在所难免,怀着技术交流的心态,在这里 发表出来…
1. 没有Timer控件 解决方案: 第一步:申明一个DispatcherTimer 类的变量, private DispatcherTimer timer; //定时控件 第二步:初始化这个类 timer = new System.Windows.Threading.DispatcherTimer(); timer.Tick += new EventHandler(timer1_Tick); timer.Interval = new TimeSpan(0,1,0);//1分钟 timer.St…
转自http://hi.baidu.com/leoliu83/blog/item/1d1a4a66dcb41134aa184cfd.html WPF开发于WinForm之后,从技术发展的角度,WPF比WinForm先进是不容置疑的.我觉得WPF相比于WinForm有下面的一些较好的特性: 解决Window Handle问题   在Windows GDI或WinForm开发中复杂的GUI应用程序,会使用的大量的控件,如Grid等.而每个控件或Grid cell都是一个小窗口,会使用一个Window…
UpdateSourceTrigger 0.在一个项目中在用到绑定的时候一直有一个问题,虽然设置了Mode=TwoWay,界面的值修改了,但是后天绑定的值没有变化.最终发现了问题,在于UpdateSourceTrigger属性的使用,通过这个属性指定什么时刻去通知源数据改变值.默认是失去焦点触发,当然也可以根据程序需要,更改触发条件.例如:控件属性="{Binding SettingMarkContent,Mode=TwoWay,UpdateSourceTrigger=PropertyChang…
经常安装PC端的应用,特别是重装系统之后,大致分为两类.一类像QQ,搜狗输入法这样的.分三步走的:第一个页面可以自定义安装路径和软件许可.第二个页面显示安装进度条,第三个页面推荐其他应用.先不管人家怎么实现的,我们先回顾一下. QQ:       再一个就是分六步或七步走的,如QQ影音:欢迎界面,用户许可,安装组件,安装目录,安装进度,安装完成,有七步的,一般会多一些软件推荐.当然还有其他的,比如是基于ClickOnce打包的,就一个界面,一个进度条.没有安装目录选择,这一般不是商业软件.先说第…
一.窗体类基本概念 对于WPF应用程序,在Visual Studio和Expression Blend中,自定义的窗体均继承System.Windows.Window类.用户通过窗口与 Windows Presentation Foundation (WPF) 独立应用程序进行交互. 窗口的主要用途是承载可视化数据并使用户可以与数据进行交互的内容.独立 WPF 应用程序使用 Window 类来提供它们自己的窗口.在 WPF 中,可以使用代码或 XAML 标记来实现窗口的外观和行为.我们这里定义的…
这一篇文章来谈谈对于WPF应用程序开发中的未捕获异常的处理. 首先,我们当然是要求应用程序开发人员,尽可能地在程序可能出现异常的地方都去捕捉异常,使用try-catch的方式.但是总是有一些意外的情况可能会发生,这就导致会出现所谓的"未捕获异常(UnhandledException)".对于这一类异常,如果我们没有一个合适的策略进行处理,则当其发生的时候,会给用户带来不太好的使用体验.例如下面这样 备注:这个截图是在Windows 8上面做的,其他操作系统看到的界面可能略有不同. 用户…
WPF的DataGrid默认的移动行为如下: (1)当前单元格不处于编辑状态时可使用方向键移动焦点. (2)当前单元格处于编辑状态时不可使用方向键移动焦点;按Enter键,当前单元格退出编辑状态,焦点向下移动一格;按Ctrl+Enter键,当前单元格退出编辑状态,焦点向上移动一格;按Tab键,当前单元格退出编辑状态,焦点向右移动一格,并进入编辑状态;按Shift+Tab键,当前单元格退出编辑状态,焦点向左移动一格,并进入编辑状态; “运营管理3.0″的用户普遍电脑操作水平低下,Office是它们…
手动创建应用程序 1.创建Empty Project 2.添加引用 3.添加 ManualApp.cs 并添加下面的代码 [STAThread] public static void Main() { Window win = new Window(); win.Title = "Manually created application"; win.Show(); Application app = new Application(); app.Run(); } [STAThread]…
 WPF程序中,对于异常的捕获一般使用try/catch块.就像程序中的bug一样,很难保证程序中所有的异常都能够通过try/catch捕获.如果异常没有被捕获,轻则影响用户体验,严重时会导致数据丢失.WPF中提供了Application.DispatcherUnhandledException事件和AppDomain.UnhandledException事件,通过注册这两个事件,我们可以对未经处理的全局异常集中执行自定义处理. 对于在主UI线程上运行的代码未处理的每个异常,Applicatio…
企业应用中,经常会遇到一些需要定时自动执行的程序来完成某些功能,比如:自动定时从第三方web service取回数据.定时对历史数据进行清理.定时向ftp上传业务数据... 这类程序,我习惯称为“机器人”程序,就象机器一样机械.高效.重复的执行某些任务.通常部署上线后,都是放在服务器上一直开着,不允许轻易被关闭,而且最好要有一个界面,随时可以手动方便控制状态或查看运行情况,一旦发生异常情况,能及时通知管理员(Email或短信之类)如果是采用WPF技术开发,以下是几个需要注意的地方: 1.无边框窗…
公司现在在研发基于.Net中WPF技术的产品,由于要兼容旧有产品,比如一些旧有的Win32程序.第三方的Win32程序等等,还要实现自动登录这些外部Win32程序,因此必须能够将这些程序整合到我们的系统中来,让使用者看起来它们好像是一个程序. 在MSDN中有专门的章节提到了在WPF中嵌入Win32控件的办法,那就是使用 HwndHost ,只要把 Win32控件的句柄传递给 HwndHost 就可以了.MSDN中的例子演示的都是在同一个进程内创建的 Win32控件,我一开始认为只要通过FindW…
一.引言 关于WPF早在一年前就已经看过<深入浅出WPF>这本书,当时看完之后由于没有做笔记,以至于我现在又重新捡起来并记录下学习的过程,本系列将是一个WPF快速入门系列,主要介绍WPF中主要的几个不同的特性,如依赖属性.命令.路由事件等. 在正式介绍之前,我还想分享下为什么我又要重新捡起来WPF呢?之前没有记录下来的原来主要是打算走互联网方向的,后面发现互联网方向经常加班,又累,有时候忙的连自己写了什么都不知道的,所以后面机缘巧合地进了一家外企,在外企不像互联网行业那样,比较清楚,有更多的时…
几个月之前因为项目需要,需要实现一个类似于WPF Dispatcher类的类,来实现一些线程的调度.之前因为一直做Asp.Net,根本没有钻到这个层次去,做的过程中,诸多不顺,重构了四五次,终于实现,满足项目要求. Dispatcher的源码对我来说,看的确实很累,各种累关联,不知所云.当时仅有的周永恒的博客看了六七遍也只是知道了大概的轮廓.今天我这里讲的,就是按照当时的项目需求的方向所理解和收获的一些知识,分享出来.太全面的东西,我讲出来只怕误人子弟了,大家还是去参照老周的博客吧.O(∩_∩)…
回顾 上一篇,我们介绍了基本控件及控件的重要属性和用法,我们本篇详细介绍WPF中的几种布局容器及每种布局容器的使用场景,当 然这些都是本人在实际项目中的使用经验,可能还存在错误之处,还请大家指出. 本文大纲 1.Grid 2.StackPanel 3.DockPanel 4.WrapPanel Grid 1.Row和Column 我们下面来介绍Grid的行的用法,及我们在UI设计过程中需要注意的细节. 由于前面我们在第一章中已经介绍了基本的关于Grid的表格行和列的定义及相关属性,为了防止大家遗…
         原著:AY WPF博客- 把wpf推广出去,让那些鄙视的人说不 大家好! 我是AY,首先声明,我在做一件很枯燥的事情,我是个91后程序员,每天熬夜完成计划的过着下班后的生活. 那天有人反对,那天有人安慰,那天有人嘲讽,那天有人祝福. 过了6个月后,我对自己的梦想一直没有改变过,继续坚持,终于,AYUI诞生了. 今天有人说造轮子,今天有人说你好厉害,今天有人说开源吗? 有人说好喜欢... 有贬有褒,但是好的声音多了. 但是身体的各种问题也来了.. AYUI自定义安装包:演示视频:…
原文:<User Settings in WPF> Posted on 2014/04/09 ================================================================================ 介绍参看:How To: Write User Settings at Run Time with C# 应用程序范围的设置无法在运行时更改: 用户范围的设置可以在运行时更改. 对于一个用户范围的值 [Length]-[ulong]-[Use…
WPF为我们准备了完善的命令系统,你可能会问:"有了路由事件为什么还需要命令系统呢?".事件的作用是发布.传播一些消息,消息传达到了接收者,事件的指令也就算完成了,至于如何响应事件送来的消息事件并不做任何限制,每个接收者可已用自己的行为来响应事件.也就是说,事件不具有约束力.命令和事件的区别就在于命令具有约束力. 的确,在实际编程工作中,即使只用事件不用命令程序的逻辑一样被驱动的很好,但我们不能够阻止程序员按照自己的习惯去编写代码.比如保存事件的处理器,程序员可以写Save().Sav…