WinForm&WPF
飞鹰再现
专注信息化,智能制造系统化产品开发与解决方案的研究。先任职一家企业产品架构师。喜爱架构设计,产品研发。Dont repeat yourself.
展开
-
Windows Forms中通过自定义组件实现统一的数据验证(一)
一直对WinForm中没有像WebForm中那样的验证控件耿耿于怀,这几天准备开发一套类似的控件。在网上找到大牛Michael Weinhardt的一个系列文章,写得非常棒,所以基本上按他的思路下来的。转载 2010-08-13 19:02:00 · 693 阅读 · 0 评论 -
Prism入门基础课
Blend4发布了,最近就想用研究下Silverligt 4,相信这个版本应该较稳定了。做企业级应用不能不提Prism,这是个不错的企业应用开发指导,新版Prism4支持MEF了,已经发布CTP了。网上中文的资料还真是少,只能看它的帮助文档,看的过程记录下来,加深下记忆。对于正想学习Prism的人希望也有所帮助。本人写作很力很差,写的不好请拍砖!概览这一章的内容都是一些整体概述,说转载 2013-08-23 10:22:52 · 2179 阅读 · 0 评论 -
解决Winform中弹出WPF窗体不能在文本框中输入的问题
在WinFrom应用程序中,若调用一个WPF的窗体,则弹出后,在文本框中不能输入数字,这是因为WPF窗体WinForm应用程序交互中,不能响应键盘操作信息所致。解决方法如下:引用WindowsFormsIntergation.dll这个类库,并使用如下代码:Window winWPF = new Window(); //WinWPF为想要显示的WPF窗体。System.Windo原创 2013-08-12 16:18:51 · 2581 阅读 · 1 评论 -
【WPF】创建基于模板的WPF控件(经典)
WPF可以创建两种控件,它们的名字也很容易让人混淆:用户控件(User Control)和定制控件(Customer Control),之所以如此命名,是因为用户控件更面向控件的“使用者”,以方面他们利用现成的控件组合成新的控件,而客户控件,更便于定制化(Customization),方便创建有别于现有控件的定制控件。 定制控件提供了行为和表现完全分离的开发模式,具有很高的灵活性,转载 2013-07-19 16:12:47 · 1638 阅读 · 0 评论 -
UI设计模式之:MVVM模式经典
本文是翻译大牛Josh Smith的文章,WPF Apps With The Model-View-ViewModel Design Pattern,译者水平有限,如有什么问题请看原文,或者与译者讨论(非常乐意与你讨论)。 本文讨论的内容:WPF与设计模式MVP模式对WPF来说为什么MVVM是更好的选择用MVVM构建WPF程序本文涉及转载 2013-09-28 11:37:44 · 3319 阅读 · 0 评论 -
WPF图形之:Path详解
先看显示效果:(图1)XAML(代码A):http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" > PathFigureCollection的表示方法-->Path Stroke=转载 2013-10-26 16:03:56 · 11552 阅读 · 2 评论 -
WPF之模板:斑斓呈现
说明:以下内容整理自MSDN,在有一定的基础之上,供快速学习复习使用。1.数据模板:DateTemplate一般可使用 DataTemplate 来指定数据的可视表示形式。 DataTemplate 对象在将ItemsControl(如 ListBox)绑定到整个集合时尤其有用。 如果没有特殊说明,ListBox 将在集合中显示对象的字符串表示形式。 在此情况下,可以使用 Data原创 2013-10-29 09:12:16 · 979 阅读 · 0 评论 -
WPF数据处理控件DataGrid :CRUD操作入门经典
前几天打算尝试下DataGrid的用法,起初以为应该很简单,可后来被各种使用方法和功能实现所折磨。网络上的解决方法太多,但也太杂。没法子,我只好硬着头皮阅览各种文献资料,然后不断的去尝试,总算小有成果。因此,把我学到的和大家分享一下,相信这篇文章会让你再很短的时间内学会DataGrid的大部分主要功能,而且很多难点都可以在里面找到解决方案。由于涉及的应用比较多,所以篇幅会很长。但可以确保各转载 2013-09-23 16:49:02 · 7032 阅读 · 5 评论 -
让ScrollViewer支持鼠标滚轮效果
今天在做项目时,用到ScrollView控件,以实现在内容超过容器面板时出现滚动条。但是发现滚动鼠标滚轮,内容没有滚动。默认的,ScrollView竟然不支持鼠标滚轮效果。那就需要自己动手添加了。发现有两个支持鼠标滚轮事件:PreviewMouseWheel 和MouseWheel。开始试验的是MouseWheel事件,但是不起作用,后来用PreviewMouseWheel事件试验了一下,惊喜来了原创 2013-10-29 16:25:39 · 5412 阅读 · 4 评论 -
WPF: TreeView控件 获取选中的文本节点内容
同大家一样,在使用TreeView控件时,遇到了这个问题。上网也查了一些资料,但都不是太有效。经摸索问题解决了。过程说明如下:TreeView控件的数据采取模板,采用MVVM模式,直接绑定给数据源。如下: <TreeView Name="tvDepartment" Margin="5,4" Background="{StaticResource PanelContentBgReflac原创 2013-11-01 16:05:30 · 6727 阅读 · 1 评论 -
WPF资源路径详解
在WPF中,为Image控件设置图片的后台代码有以下三种写法:1.imgContent.Source = new BitmapImage(new Uri("Content.jpg", UriKind.Relative));2.imgContent.Source = new BitmapImage(new Uri("pack://application:,,,/Content.j原创 2013-11-20 16:14:51 · 5646 阅读 · 0 评论 -
爱上WPF,努力才会有希望!
从WinForm转向WPF开发已经有两个多月了,通过不断深入地学习与运用,现在是越来越爱它了。它实在是太强大了。运用WPF,你不仅可以做Win界面,也可以很快转向Web开发,因为Silverlight与WPF知识体系很接近。运用MVVM模式与轻框架MVVM Light,确实可以让开发速度提升很多,那不是一点点而已。像下面这样的CRUD操作,整个模式开发下来,若后台业务逻辑不是很复杂的话,也就一两个原创 2013-11-14 14:15:52 · 1369 阅读 · 0 评论 -
WPF AutoComplete 控件
最近在用WPF开发系统时,需要用到一个输入文本可以显示一个下拉框,显示匹配文本的集合列表。一开始自己做了一个,用用户控件来实现,主要是用一个文本框,一个Pop控件,和一个ListBox控件。功能实现了,但是由于系统用的是MVVM模式,数据与界面通信是通过绑定机制实现的。在这个地方就遇到困难了。发现用户控件的自己定义的属性不能绑定到ViewModel中的属性上。搞了好久,没有搞出来,时间紧,想有机会原创 2013-11-29 20:12:51 · 2828 阅读 · 0 评论 -
C# 设置单元格格式属性
数字(Range.NumberFormatlocal 属性)常规:Range.NumberFormatlocal = "G/通用格式"数值:Range.NumberFormatlocal = "0.000_ " --保留小数位数为3 Range.NumberFormatlocal = "0" --不要小数 Range.NumberForm原创 2013-12-04 14:15:09 · 10186 阅读 · 1 评论 -
WPF的DataGrid如何让列自动填充 犀利快捷
WPF的DataGrid如何使列自动填充?相信大家应该都遇到过这个问题。WPF的DataGrid没有想DataGridView中的那样可以将AutoSizeMode属性设置为Fill来容易实现。上网查了一下实现方法,答案是可以实现,但操作过程比较复杂,多少重写SizeChanged事件中处理各个列的宽度。但是效果也不那么理想。这里有个犀利快捷的方式:只需将ColumnWidth属性设置原创 2013-08-08 10:47:16 · 6576 阅读 · 5 评论 -
C# 资源文件Resources.resx的使用 最快捷最犀利
这是看过在C#中使用资源文件最快捷,最直接的方法,代码如下:pic.Image = Properties.Resources.bigGreen;就是直接引用Properties命名空间下的Resources模块中的文件bigGreen这个最犀利,最直接,最有效。可与VB.NET中的pic.Image=My.Resources.bigGreen相媲美。其他方法就不原创 2012-07-04 10:23:04 · 5882 阅读 · 0 评论 -
浅谈正则表达式验证身份证号码(C# winform)
先大概介绍一下身份证号码的组成情况(来自百度):目前我国公民身份证号码由18位数字组成:前6位为地址码,第7至14位为出生日期码,第15至17位为顺序码,第18位为校验码。检验码分别是“0、1、2、……10”共11个数字,当检验码为“10”时,为了保证公民身份证号码18位,所以用“X”表示。虽然校验码为“X”不能更换,但若需全用数字表示,只需将18位公民身份号码转换成15位居民身份证号转载 2012-11-09 18:04:18 · 7488 阅读 · 0 评论 -
自己动手创建应用程序界面设计器
1、Demo界面及功能解释2、Demo实现简述3、参考资料Demo下载1、Demo界面及功能解释编译并运行程序,界面如下:图1:图2:功能概述:a, 窗体左侧为工具栏,可以单击、双击、拖曳的方式来添加控件b, 窗体右侧为属性(事件)窗口及控件(浏览)选择Comboc, 窗体中部包括设计器及代码查看Tab页d, 窗体顶部实现了编转载 2012-11-15 16:53:45 · 1562 阅读 · 0 评论 -
C#中键盘消息的响应
Windows窗体通过引发键盘事件来处理键盘输入以响应Windows消息,大多数Windows窗体应用程序都通过处理键盘事件来以独占方式处理键盘输入。为了更好的掌握Windows窗体中键盘处理的相关操作,程序开发人员应该了解键盘消息的工作方式,以便实现更高级的键盘输入方案(例如,在按键到达控件之前截获它们等)。本节将详细介绍有关Windows窗体中键盘处理操作的相关内容。1.按键的类型转载 2012-11-15 13:33:57 · 2538 阅读 · 0 评论 -
深入浅出之正则表达式(一)
深入浅出之正则表达式(一)前言: 半年前我对正则表达式产生了兴趣,在网上查找过不少资料,看过不少的教程,最后在使用一个正则表达式工具RegexBuddy时发现他的教程写的非常好,可以说是我目前见过最好的正则表达式教程。于是一直想把他翻译过来。这个愿望直到这个五一长假才得以实现,结果就有了这篇文章。关于本文的名字,使用“深入浅出”似乎已经太俗。但是通读原文以后,觉得只有用转载 2012-12-11 08:27:33 · 426 阅读 · 0 评论 -
深入浅出之正则表达式(二)
深入浅出之正则表达式(二)前言: 本文是前一片文章《深入浅出之正则表达式(一)》的续篇,在本文中讲述了正则表达式中的组与向后引用,先前向后查看,条件测试,单词边界,选择符等表达式及例子,并分析了正则引擎在执行匹配时的内部机理。 本文是Jan Goyvaerts为RegexBuddy写的教程的译文,版权归原作者所有,欢迎转载。但是为了尊重原作者和译者的劳动,请注转载 2012-12-11 08:28:54 · 493 阅读 · 0 评论 -
在windows Forms程序里面实现文件上传
有时候我们可能要通过Windows Forms程序上传文件。下面是一个简单的例子。按钮的Click事件如下OpenFileDialog dialog = new OpenFileDialog();if (dialog.ShowDialog() == DialogResult.OK){vb.Devices.Network network = new Microsoft转载 2012-12-17 08:34:34 · 901 阅读 · 0 评论 -
DataGridView控件中显示图片及其注意事项
windows Forms编程里面有一个DataGridView控件,它不光是可以显示数据,可以显示按钮,复选框,甚至还可以显示图片。这些图片可以来自于数据库(用二进制的方式存储的),也可以来自文件系统。下面是一个例子【假设你有一个windows程序,并且窗体上有一个DataGridView控件,这个控件只有一个列(名称为Image),类型为DataGridViewImageColumn】转载 2012-12-17 08:32:32 · 1596 阅读 · 0 评论 -
C#打印程序实现完整文档打印功能
C#打印程序实现完整文档打印功能,我们会介绍打印操作具体包括的四个功能,打印所涉及的类的属性及方法,以及最终实现的样例。最后我们会总结C#打印程序的全部过程。打印操作通常包括以下四个功能1 打印设置 设置打印机的一些参数比如更改打印机驱动程序等2 页面设置 设置页面大小纸张类型等3 打印预览 类似于word中的打印预览4 打印实现打印功能的核心是Pr转载 2013-02-06 08:40:52 · 2301 阅读 · 0 评论 -
BarTender 打印机的控制详解
BarTender是一款优秀的条形码打印软件,可以支持很多种类型的条形码设计和打印,具体大家可参考他的官网(http://www.seagullscientific.com/aspx/products.aspx),这里不多介绍。在刚开始接触BarTender的时候,发现网上的资料很少,我是把他们官网上的资料都看了,什么白皮书啊,向导之类的都看了。我们的系统是ASP.NET做的,通过原创 2013-02-06 09:36:43 · 19744 阅读 · 2 评论 -
Tesseract-OCR引擎 入门
Tesseract-OCR引擎 入门OCR(Optical Character Recognition):光学字符识别,是指对图片文件中的文字进行分析识别,获取的过程。Tesseract:开源的OCR识别引擎,初期Tesseract引擎由HP实验室研发,后来贡献给了开源软件业,后经由Google进行改进,消除bug,优化,重新发布。当前版本为3.01.项目地址为:htt转载 2013-07-11 16:21:29 · 1174 阅读 · 0 评论 -
WPF版,MVVM模式,简易抽奖器
年终了,公司尾牙晚会抽奖需要别出心裁,来个电脑抽奖。于是就做了个电脑版的抽奖器。用WPF做的UI,简易用了MVVM模式,用惯了,虽程序短小,但直接套用框架还是很快的。直接上图了:原创 2015-01-21 10:50:25 · 1329 阅读 · 0 评论