代码改变世界

WPF调用线程(二)复制文件并显示进度条

2011-04-03 22:42 by 杨延成, 10715 阅读, 4 推荐, 收藏, 编辑
摘要:这一段时间要进行WPF及多线程的培训,于是就写了一个例子,主要功能是用复制文件时,显示进度条。以演示在WPF中,如何调用线程,基础理论就不多说了,园子里好多大牛都写过,MSDN也有详尽介绍,也可以查看我的前两篇文章, C#线程基础WPF调用线程(-)也有一些介绍,先看运行效果xaml如下:XAML代码<Window x:Class="WpfThreadTest.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="htt 阅读全文

WPF调用线程(-)

2011-04-03 14:21 by 杨延成, 5401 阅读, 2 推荐, 收藏, 编辑
摘要:在WPF应用中,如果遇到多线程的需求时,如果引用WPF控件时会引发异常,异常内容:调用线程无法访问此对象,因为另一个线程拥有该对象。具体如下:调用代码:Thread countThread = new Thread(new ThreadStart(Count));countThread.Start(); 在调用的Count方法引发如下异常WPF 对象是从 DispatcherObject 派生的,这提供了用于处理并发和线程的基本构造。 WPF 基于调度程序实现的消息系统。 其工作方式与常见的 Win32 消息泵非常类似;事实上,WPF 调度程序使用 User32 消息执行跨线程调用。当WPF. 阅读全文

C#线程基础

2011-04-01 21:35 by 杨延成, 944 阅读, 1 推荐, 收藏, 编辑
摘要:在C#应用程序里,经常会用到线程,如在复杂的数据计算时,还要响应客户的其它请求。先不说些了,先来点基础知识。以下摘自MSDN线程处理使 C# 程序能够执行并发处理,以便您可以同时执行多个操作。例如,您可以使用线程处理来监视用户输入,执行后台任务,以及处理并发输入流。System.Threading 命名空间提供支持多线程编程的类和接口,使您可以轻松地执行创建和启动新线程,同步多个线程,挂起线程以及中止线程等任务。在创建操作系统进程时,操作系统将插入一个线程以执行该进程(包括任何原始应用程序域)中的代码。 从此刻起,就可以创建和销毁应用程序域,而不必创建或销毁任何操作系统线程。 如果正在执行的代 阅读全文

WPF Path详解(转载)

2011-03-24 10:22 by 杨延成, 964 阅读, 1 推荐, 收藏, 编辑
摘要:WPF提供两个类来描述路径数据:一个是StreamGeometry,另一个是PathFigureCollection。<Path Stroke="Black" Data="M 100,240 C 510,300 80,100 300,160 H40 v80" />的形式是StreamGeometry的XAML代码表示形式,也是最简洁的表示形式。<Path Stroke="Black" StrokeThickness="1" Fill="#CCCCFF"> <Path 阅读全文

无废话总结项目进度的影响因素

2011-03-06 08:55 by 杨延成, 1966 阅读, 0 推荐, 收藏, 编辑
摘要:影响项目进度的因素1. 项目范围界定不清晰,对于项目验收标准的不统一,或者没有验收标准,再或者验收标准理解不一样。2. 需求理解不足,无需求跟踪,需求不清,客户也不是很清楚他们要做一个什么的样的东西,需求频繁变更,工作量不断增加,没有合理的需求变更流程,客户方面主管人员不懂实际需求,懂实际需求的人不敢做决定,互相推托,需求无法固定,总会有人提出不同意见。3. 项目管理跟不上,无管理或者管理方法欠妥,管理者无经验,对于项目风险没有预见性,对于已出现的风险,重视程度不足,缺乏应变手段。4. 项目资源不足,人力资源调配困难,无考核机制,管理手段匮乏。5. 项目多个子项目组沟通不足,无固定沟通流程,规 阅读全文

写出高质量软件的75条体会

2011-03-06 08:36 by 杨延成, 242 阅读, 0 推荐, 收藏, 编辑
摘要:1. 你们的项目组使用源代码管理工具了么?MVM:应该用。VSS、CVS、PVCS、ClearCase、CCC/Harvest、FireFly都可以。我的选择是VSS。2. 你们的项目组使用缺陷管理系统了么?MVM:应该用。ClearQuest太复杂,我的推荐是BugZilla。3. 你们的测试组还在用Word写测试用例么?MVM:不要用Word写测试用例(Test Case)。应该用一个专门的系统,可以是Test Manager,也可以是自己开发一个ASP.NET的小网站。主要目的是Track和Browse。4. 你们的项目组有没有建立一个门户网站?MVM:要有一个门户网站,用来放Conta 阅读全文

设计模式——Proxy

2011-03-06 08:31 by 杨延成, 211 阅读, 0 推荐, 收藏, 编辑
摘要:代理模式的作用:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。1 /// 2 /// 测试类3 /// 4 class Program5 {6 static void Main(string[] args)7{8 ProxySubject proxy = new ProxySubject();9 proxy.Request();10 }11 }1213/// 14 /// 抽象基类 抽象角色15 /// 16 public abstract class Subject17{18 publi 阅读全文

原型模式

2011-03-06 08:29 by 杨延成, 263 阅读, 0 推荐, 收藏, 编辑
摘要:1namespace Prototype2{3 class Program4{5 static void Main(string[] args)6{78 MyPrototype my = new MyPrototype();9 my.PropertyTest = \"test\";1011 my.ShowProperty();1213 //未使用管理器14 //MyPrototype newMy = my.Clone() as MyPrototype;15 //newMy.ShowProperty();16171819///使用管理器20 PrototypeManager 阅读全文

ASP.NET请求处理过程

2011-03-05 11:00 by 杨延成, 499 阅读, 0 推荐, 收藏, 编辑
摘要:当请求一个*.aspx文件的时候,这个请求会被inetinfo.exe进程截获,它判断文件的后缀(aspx)之后,将这个请求转交给 ASPNET_ISAPI.dll,ASPNET_ISAPI.dll会通过http管道(Http PipeLine)将请求发送给ASPNET_WP.exe进程,在ASPNET_WP.exe进程中通过HttpRuntime来处理这个请求,处理完毕将结果返回客户端。 inetinfo.exe进程:是www服务的进程,IIS服务和ASPNET_ISAPI.DLL都寄存在此进程中。 ASPNET_ISAPI.DLL:是处理.aspx文件的win32组件。其实IIS服务器是只 阅读全文

IList转换为DataTable

2011-03-05 10:59 by 杨延成, 451 阅读, 0 推荐, 收藏, 编辑
摘要:#region Conver IList to DataTable /// /// IList泛型集合转换为DataTable /// /// /// /// public DataTable ConverToDataTable(IList list) { if (list == null || list.Count < 1) { return null; } DataTable dt = new DataTable(typeof(T).Name); ///利用反射,获得泛型集合装载对象的公有属性或者实例属性名 System.Reflection.PropertyInfo[] myPro 阅读全文