- 博客(68)
- 资源 (5)
- 收藏
- 关注
原创 多线程2——六种多线程方法解决UI线程堵塞
一、六种多线程方法.NET Framework2.0框架提供了至少4种方式实现多线程,它们是“BackgroundWorker”组件、委托的异步调用、线程池ThreadPool以及线程类Thread;.NET Framework 4.0增加了任务并行库TPL和PLINQ技术,
2011-10-08 06:47:11
2924
原创 C#调用C/C++的DLL问题若干
1. C/C++封送为C#代码辅助工具:操作系统API可以访问PINVOKE.NET站点查询;若有C/C++的头文件声明,使用P/Invoke Interop Assistant工具,它不仅能获得操作系统API的封送代码,还能将C/C++的头文件代码转换为C#封送代码,但
2011-09-23 11:32:05
2889
原创 Stopwatch能运行多久?
Stopwatch是一个高精度计时器,根据CPU的主频进行计时,一但Start就会不停的累计Ticks,即使是Stop后再进行Start,Ticks仍会累加,直到Reset或者Restart才会对Ticks清零。Ticks是一个Int64的数值,最大值Int64.MaxValue
2011-09-22 15:07:49
600
原创 IP地址(比较和获取)
.NET Framework 的IPAddress类型重写的Equals方法,来比较两个IP地址是否相等,但注意的是,不能使用==操作符直接比较两个IPAddress。利用Equals对IPAddress对象扩展,可比较字符串和IPAddress:public sta
2011-09-20 10:40:40
1603
原创 比较IP地址
public static bool IsEquals(this IPAddress thisIp, string otherIp){ IPAddress address; if (IPAddress.TryParse(otherIp, out address)
2011-09-20 10:17:56
255
原创 自定义当前线程的区域设置
例子:设置当前短日期格式为 yyyy-MM-ddCultureInfo ci = CultureInfo.CreateSpecificCulture(CultureInfo.CurrentCulture.Name);ci.DateTimeFormat.ShortDatePa
2011-09-20 09:21:34
429
原创 WPF处理窗口消息WndProc
在Visual的句柄创建后(如OnLoad、OnSourceInitialized代码里),使用下面方法:方法一:HwndSource source =PresentationSource.FromVisual(this) as HwndSource;if(source
2011-09-07 12:59:21
3185
原创 ORA-12516 错误
Oracle错误:TNS:listener could not find available handler with matching protocol stack问题描述:Listener进程数已满。解决办法:1. 在Oracle客户端
2011-09-06 16:55:11
521
原创 WPF创建位图的灰度图滤镜效果
当RGB三个值的分量为同一个值时,图像会显示成灰度的,这个灰度值可以通过一个公式得到:gray=BYTE(0.299*red)+BYTE(0.587*green)+BYTE(0.114*blue);
2011-08-02 13:09:45
2251
原创 实现一个ObservableDictionary
.NET Framework 4仍没有提供ObservableDictionary类型,如果不实现字典的特性,完全可以用一个简单的包含Key和Value属性的类的ObservableCollection实现。一个ObservableDictionary应该实现这些接口(参考:《C
2011-07-16 15:58:21
1000
原创 SQLSERVER2005的10054错误在Windows Server 2003 SP1上的解决办法
Error: 10054,ErrorMessage: "TCP 提供程序: 远程主机强迫关闭了一个现有的连接"
2011-07-09 11:27:34
3102
原创 关于ODP.NET获得存储过程传出varchar2类型出现ORA-06502: PL/SQL: numeric or value error的问题
ORA-06502: PL/SQL: numeric or value error: character string buffer too small
2011-07-08 16:14:56
1337
原创 WPF动画后消除属性绑架的办法
如题,解决办法详细,请阅读《如何:在使用演示图板对属性进行动画处理后设置该属性》。 在动画对象的Completed事件处理中利用BeginAnimation将被绑架属性的动画设置为null,然后将期望保存的结果赋值给属性。 结合前一篇日志《WPF MatrixTransform 的平滑动画代码》采用的LinearMatrixAnimation类,一个MatrixTransform动
2011-06-24 17:12:00
1556
原创 WPF MatrixTransform 的平滑动画代码
注:此代码摘自:《Smooth animation using MatrixTransform?》 由于MatrixAnimationUsingKeyFrames和DiscreteMatrixKeyFrame动画帧不会进行插值计算,因些,使用此方式只能产生生硬的帧切换效果。下面代码是通过自定义的LinearMatrixAnimation类,来达到平滑切换的效果。 using Sys
2011-06-24 16:58:00
2230
原创 WPF绑定到Properties.Settings的几种方法
如上图,我有一个自定义控件Map,它拥有四个用于控制地图缩放的依赖属性,允许用户App.Config来修改默认值,所以在程序里用Settings.settings设定。 1.C#代码方式Binding binding = new Binding("MapZoom");binding.Source = Properties.Settings.Default;m
2011-06-22 15:10:00
1984
原创 WPF PasswordBox.Password 的数据绑定
WPF的PasswordBox控件的Password属性不是依赖属性,无法直接进行数据绑定,为使其在MVVM模式中正常使用,可以为PasswordBox增加一个助手类,代码如下:注:代码摘自:http://www.wpftutorial.net/PasswordBox.htmlusing System.Windows;using System.Windows.Controls;na
2011-06-17 13:41:00
7170
原创 解决PcAnywhere 12.0在Windows 2003 Server中远程连接,WPF界面无法显示的问题
PcAnyWhere 12.0以Windows2003 Server作为远程桌面共享端,会因为其mirrordriver技术,可能使DirectDraw和AGP纹理加速失效,导致WPF窗口界面无法被它正确捕获。解决办法,是禁用此技术。 步骤:1.系统安装显卡驱动,在显示属性-设置-疑难解决-硬件加速到完全2.安装较新的DirectX9.0c,在开始-运
2011-06-13 16:32:00
1359
原创 WPF MVVM设计模式的ViewModelBase和CommandBase代码
ViewModelBase和CommandBase代码的整理如下: 1.ViewModelBase.csusing System;using System.ComponentModel;using System.Linq.Expressions;/// /// WPF MVVC设计模式ViewMode基本功能类/// public abstract class
2011-06-09 17:27:00
3156
原创 BitmapCacheBrush 和 VisualBrush 之间的区别(WPF4)
“BitmapCacheBrush总是从一个目标元素的缓存或者通过BitmapCache 属性定义的缓存来渲染并且BitmapCacheBrush类忽略以下位于根Visual的属性:VisualOffset,VisualTransform,VisualClip,VisualEffect,VisualOpacity,VisualOpacity。这种行为有别于VisualBrush类。”
2011-06-03 15:11:00
844
原创 WPF 4 DataGrid与WPFToolkit February 2010 (Version 3.5.50211.1)的模板列双向绑定
WPF 4 与WPFToolkit February 2010 (Version 3.5.50211.1) 中 DataGrid 的 DataGridTemplateColumn
2011-05-23 16:26:00
1163
原创 USB设备的插入和弹出的监听以及软弹出可移动媒体(如Windows的移除USB设备)
USB设备的插入和弹出的监听、文件操作监视、软弹出可移动媒体(C#版本)。
2011-04-12 12:57:00
2283
原创 通过WMI获取硬件和系统信息
WMI(Windows Management Instrumentation)是一个Windows管理技术支持,最初在1998年作为Windows NT 4.0 Service Pack 4一起发行(参见:http://msdn.microsoft.com/zh-cn/library/ms974579.aspx)。我们通过它可以得到几乎Windows系统的全部信息(如硬件环境、操作系统信息、服务信息等等),通过.NET Framework提供的System.Management库便可以利用。
2011-03-22 16:34:00
2352
原创 分享一个用csc.exe编译WPF的批处理 及 Uri的相对绝对表示例子
分享一个用csc.exe编译WPF的批处理 及 Uri的相对绝对表示例子
2010-11-23 14:40:00
1027
转载 一个在WPF中模拟Application.DoEvents的类
标准WinForm处理消息队列的方法是System.Windows.Forms.Application.DoEvents()方法,在WPF中也可以使用,但是需要加载System.Windows.Forms程序集,另外,Application.DoEvents不能支持WPF的Dispatcher的调度优先级。
2010-11-11 13:44:00
1959
原创 分享一个给项目打7z压缩包的批处理[2012-4-26更新]
利用7z的命令行独立版本7za.exe压缩解决方案。最新版的7za.exe可以从http://sourceforge.net/projects/sevenzip/获得,批处理内容:@echo offrem 说明:rem 必选:将要压缩的文件夹名设置在“slnDir=”右边rem 可选:将sln文件名(不含扩展名)设置在“slnFile=”右边set slnDir=set slnF
2010-10-29 09:39:00
1521
原创 Windows Media Player关联图标修复(WMV、MPG、MP3等图标修复)
Windows Media Player关联图标修复(WMV、MPG、MP3等图标修复)
2010-09-01 13:56:00
1809
原创 对称算法——加密和解密算法(Rijndael、DES、RC2和TripleDES)
对System.Security.Cryptography命名空间(mscorlib.dll)的对称算法的封装。
2010-08-24 22:49:00
2257
原创 计算文件Hash(SHA1、MD5等)
HashAlgorithm类支持数据块的Hash运算:对数据前面块通过TransformBlock方法计算,最后一块通过TransformFinalBlock方法计算,结果通过Hash属性获得,便可完成整个Hash过程。对于一个数据流(如文件流),可以利用这个办法,提供Hash的计算进度。下面是一个不带计算进度的使用的使用TransformBlock方式的代码。 using Syste
2010-08-23 14:28:00
3869
原创 可序列化字典类 SerizlizableDictionary
将字典序列化/反序列化xml保存在磁盘上。可序列化字典类代码、XML序列化器代码。
2010-08-10 14:39:00
2230
Scite 3.00
2011-11-06
unlocker1.8.8
2009-12-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人