写测试工具需要多线程的暂停终止。用C#的 Thread.about() join() resume() suspend()又提示函数过时了,不建议使用。于是四处找方法,信号量、互斥锁什么的方法也不少,找到下面这个方法,倒是很实用,转载如下:
C#关于AutoResetEvent的使用介绍(转)
AutoResetEvent 允许线程通过发信号互相通信。通常,此通信涉及线 [继续阅读....]
写测试工具需要多线程的暂停终止。用C#的 Thread.about() join() resume() suspend()又提示函数过时了,不建议使用。于是四处找方法,信号量、互斥锁什么的方法也不少,找到下面这个方法,倒是很实用,转载如下:
C#关于AutoResetEvent的使用介绍(转)
AutoResetEvent 允许线程通过发信号互相通信。通常,此通信涉及线 [继续阅读....]
WPF数据绑定功能很好,很强大。只需要写一点代码就可以做到数据的绑定,数据变更后UI的数据同步显示。UI和主程序多线程间的数据交互问题可以通过这个轻松解决。对“由于其他线程拥有此对象,因此调用线程无法对其进行访问”这样的问题,wpf 的dispatcher 是一个可能的解决方法,数据绑定也是一个方式。
定义类
using System;
using System.ComponentMo [继续阅读....]
写自动化测试工具的时候要用到tree view,于是上网各种找。C#的Infragistics NetAdvantage,DevExpress之类框架。都太大了,小工具用不着这么大的。用自带的tree view又觉得土了点,WPF又是在边学边做。终于折腾着找个到一个,看着挺好,用着也还合适。
A Versatile TreeView for WPF 来自 codeproject
他是个 [继续阅读....]
找了不少方法,有些都比较麻烦。列举如下:
1、最简单的 :
xmlns:resx="clr-namespace:wpfapplicationname.Properties"
Title="{x:Static resx:Resources.name}"
2、
用第三方工具 例如http://www.codeproject.com/KB/WPF/WPF_Resx_ [继续阅读....]
写WPF程序,需要表格。用的是.net3.5,于是找了个WPF Toolkit工具用着。
地址:wpf toolkit http://wpf.codeplex.com/
在绑定数据的时候遇到点麻烦,当然绑定数据的方法有很多中,这里转一个。在最后绑定数据的时候方法不止一种,在下面的代码中我稍作添加。
想着怎么在wpf的xaml文件中嵌入另一个xaml文件,找了会发现可以通过usercontrol控件实现。
右键项目添加用户控件,生成一个xaml文件。注意其namespase和类属性:
<UserControl
Name="UserControlToolTip"
x:Class="CustomToolTip.UserControl1"
xmlns="http://sc [继续阅读....]
直接上代码,ref类型参数传递也是可以的。和之前一篇用反射调用可以互相参考。C#调用C++DLL--反射
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;
namespace T [继续阅读....]
方法有不少,这里记录其中的一个方法。编译、调用通过了的。期间遇到的问题是C#调用时传递string类型的参数和返回值会报错。TargetInvocationException异常,值不在范围内,内存不可访问等等。
解决方法是;在c++的DLL中将string类型的参数返回值改为LPTSTR类型。在C#程序中使用StringBuilder类型来传入参数和接受返回值。
下面是代码:
usi [继续阅读....]