.NET
文章平均质量分 60
菊花古剑和酒
CSDN Fanser
展开
-
C# 自定义数据类型 数组应用 读取XML
http://blog.csdn.net/leeguoquan/article/details/3864416public struct MenuClass ////定义数据结构 { public string id; public string name; public string name_en; pu转载 2013-11-21 09:05:36 · 1152 阅读 · 0 评论 -
C# 串口操作系列(4) -- 协议篇,文本协议数据解析
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wuyazhe/archive/2010/06/09/5657188.aspx上一篇已经介绍了协议的组成,一个协议,一般具有 :协议头+长度+数据+校验 , 文本格式可以直观的定义回车换行是协议的结尾,所以我们可以省略数据长度,增加协议尾。即:协议头 + 数据 + 校验 + 数据尾 。文转载 2012-10-05 22:05:24 · 565 阅读 · 0 评论 -
C# 串口操作系列(3) -- 协议篇,二进制协议数据解析
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wuyazhe/archive/2010/05/27/5627253.aspx我们的串口程序,除了通用的,进行串口监听收发的简单工具,大多都和下位机有关,这就需要关心我们的通讯协议如何缓存,分析,以及通知界面。 我们先说一下通讯协议。通讯协议就是通讯双方共同遵循的一套规则,定义协议的原则是尽可能的简单以提转载 2012-10-05 22:04:50 · 573 阅读 · 0 评论 -
在C#中使用SerialPort类实现串口通信 遇到多线程问题
在C#中使用SerialPort类实现串口通信。2009年11月01日 星期日 10:03在.NET work 2.0中提供了SerialPort类,该类主要实现串口数据通信等。本文章将本人在学习过程中从网络上搜集到的相关信息写出来供大家参考。下面主要介绍该类的主要属性(表1)和方法(表.2)。如果需要了解更多的信息请登录http://msdn.microsoft.com/zh转载 2012-10-05 22:07:12 · 1195 阅读 · 0 评论 -
在C#中 API 实现串口通信
本文主要是讲述如何通过C# .net1.1平台调用API操作串口,.net2.0已经内置串口操作类!通常,在C#中实现串口通信,我们有四种方法:第一:通过MSCOMM控件这是最简单的,最方便的方法。可功能上很难做到控制自如,同时这个控件并不是系统本身所带,所以还得注册。可以访问这里一个外国人写的教程第二:微软在.NET新推出了一个串口控件,基于.NET的P/Invoke调用转载 2012-04-30 22:47:22 · 1610 阅读 · 0 评论 -
MFC ActiveX 接口数据类型,伤不起!
MFC ActiveX 接口数据类型,伤不起! 要不是因为我一直在维护一个曲线绘制控件(www.st-curve.cn),我真的很不想再碰MFC的ActiveX了,其中怎一个乱字了得!回想起来,似乎还是vc6最好,后来我相继升级到了vc2003 2008 2010,每次升级都让我很受伤!注:MFC ActiveX以下简称控件。这个乱,至少涉及到3个部件:一:编译转载 2012-09-14 15:00:02 · 1459 阅读 · 0 评论 -
vc2010下使用64位控件
vc2010下使用64位控件最近把我的控件(ST_Curve www.st-curve.cn)升级到了64位,2010编译,本来以为很简单的问题,结果折腾了两天(也有可能我多年没做过界面和vc相关的东西了吧),于是把我遇到的问题罗列一下,希望对需要的人有所帮助(验证的不是很充分,不保证百分之百正确)一:如果一个很老的工程(比如vc6),最好不要直接用vc2010的ide转换工程,而转载 2012-09-14 15:03:10 · 481 阅读 · 0 评论 -
LibUsbDotNet使用方法
最近在用C#调试USB程序,libusb源码是C语言的,C#用起来不方便,偶然在网上看到了LibUsbDotNet,这是开源的项目,下载后参考Example,用起来非常方便。LibUsbDotNet下载 - http://sourceforge.net/projects/libusbdotnet/我写的示例工程(附件传不上来,只能直接贴代码了^_^) - Enjoy...usi转载 2012-10-04 01:04:47 · 3711 阅读 · 3 评论 -
c# USB数据接收
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Runtime.原创 2012-08-29 11:33:24 · 4523 阅读 · 0 评论 -
C#只运行一个实例
互斥进程(程序), 简单点说,就是在系统中只能有该程序的一个实例运行. 现在很多软件都有这功能,如Maxthon可以设置为"只允 许打开一个窗体",还有Bitcomet等. 我也是看到这些软件的这个功能才来研究这个问题的.要实现程序的互斥,通常有三中方式,下面 用 C# 语言来实现:实现方式一: 使用线程互斥变量. 通过定义互斥变量来判断是否已运行实例.C#实现如下:把prog转载 2012-08-05 00:34:01 · 438 阅读 · 0 评论 -
C# 串口操作系列(5)--通讯库雏形
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wuyazhe/archive/2010/08/09/5797673.aspx串口是很简单的,编写基于串口的程序也很容易。新手们除了要面对一堆的生僻概念,以及跨线程访问的细节,还有一个需要跨越的难题,就是协议解析,上一篇已经说明了:一个二进制格式的协议一般包含: 协议头 + 数据段长度 +转载 2012-10-05 22:05:58 · 540 阅读 · 0 评论 -
C# 串口操作系列(1) -- 入门篇,一个标准的,简陋的串口例子
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wuyazhe/archive/2010/05/17/5598945.aspx我假设读者已经了解了c#的语法,本文是针对刚打算解除串口编程的朋友阅读的,作为串口编程的入门范例,也是我这个系列的基础。我们的开发环境假定为vs2005(虽然我在用vs2010,但避免有些网友用2005,不支持lambda,避转载 2012-10-05 22:03:13 · 538 阅读 · 0 评论 -
c# GDI+的双缓冲问题
GDI+的双缓冲问题一直以来的误区:.net1.1 和 .net 2.0 在处理控件双缓冲上是有区别的。.net 1.1 中,使用:this.SetStyle(ControlStyles.DoubleBuffer, true); .net 2.0中,使用:this.SetStyle(ControlStyles.OptimizedDoubleBuffer, true);导致画面闪烁的转载 2012-09-14 15:18:31 · 1406 阅读 · 0 评论 -
(C#)安全、简单的Windows Forms多线程编程 (一)
(C#)安全、简单的Windows Forms多线程编程 (一)Chris SellsJune 28, 2002翻译:袁晓辉 www.farproc.com farproc#AT#gmail#dot#com2006年1月18日原文链接下载例子:AsynchCalcPi.exe.说实在的,我最初打算做的事情和本文主要讨论的内容毫不相关。那时,我第一次发现我需要在.NET翻译 2013-04-06 22:28:22 · 1347 阅读 · 0 评论 -
在C#中改变系统时间 && 得到系统时间改变通知
本文章为该blog(blog.csdn.net/uoyevoli/)主人 uoyevoli 原创(作者个人网站: www.farproc.com),如果转载,请注明出处,谢谢!! 2005-8-5一、改变系统时间C#的System.DateTime类提供了对日期时间的封装,用它进行时间的转换和处理很方便,但是我没有在其中找到任何可以用来修改系统时间的成员。用过VC、VB等的朋友转载 2013-04-06 22:21:30 · 1344 阅读 · 0 评论 -
c#设置或者获取byte(字节、8位二进制整数)某位的的值的代码
代码 #region 获取整数的某一位,设置整数的某一位 /// /// 取整数的某一位 /// /// 要取某一位的整数 /// 要取的位置索引,自右至左为0-7 /// 返回某一位的值(0或者1) public static int getIntegerSomeBit(int _转载 2013-03-11 23:47:59 · 6152 阅读 · 0 评论 -
C#自定义控件一步一步走
转自:http://bbs.csdn.net/topics/90150862最近用C#做mobile,但发现在windows mobile中可用的控件太少,只好自己定义了,下面以自定义一个button为例来说说C#中自定义控件如何做.(先说明一下,我用的是.net2005)一.新建一个控件库项目.二.想好要定义控件的需求:能设定字体,设定背景色和前景色,字符对齐方式,有一个转载 2013-02-13 15:35:31 · 488 阅读 · 0 评论 -
C#无闪烁绘图方法
看了些文章,选择一个自己试验效果较好的来记录一下,方便日后检索。算个人总结。1.在构造函数中,执行this.SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.AllPaintingInWmPaint, true);2.在Paint事件响应函数中,执行BufferedGraphicsContext c转载 2012-10-05 22:32:34 · 517 阅读 · 0 评论 -
C# 串口操作系列(2) -- 入门篇,为什么我的串口程序在关闭串口时候会死锁 ?
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wuyazhe/archive/2010/05/19/5606276.aspx 第一篇文章我相信很多人不看都能做的出来,但是,用过微软SerialPort类的人,都遇到过这个尴尬,关闭串口的时候会让软件死锁。天哪,我可不是武断,算了。不要太绝对了。99.9%的人吧,都遇到过这个问题。我想只有一半的人真的解决了转载 2012-10-05 22:04:02 · 470 阅读 · 0 评论 -
C#中串口通信编程
原文及源代码位置:http://bbs.msproject.cn/default.aspx?g=posts&t=333原文作者:ivanx转载自:http://bbs.msproject.cn/[翻译]Tapan Dantre.著Serial Communication using C# and Whidbey[简介]本文将介绍如何在.NET平台下使转载 2012-10-05 22:06:43 · 1282 阅读 · 0 评论 -
C#画图闪烁问题
导致画面闪烁的关键原因分析:一、绘制窗口由于大小位置状态改变进行重绘操作时绘图窗口内容或大小每改变一次,都要调用Paint事件进行重绘操作,该操作会使画面重新刷新一次以维持窗口正常显示。刷新过程中会导致所有图元重新绘制,而各个图元的重绘操作并不会导致Paint事件发生,因此窗口的每一次刷新只会调用Paint事件一次。窗口刷新一次的过程中,每一个图元的重绘都会立即显示到窗口,因此整个窗口中,转载 2012-10-05 22:32:56 · 1003 阅读 · 1 评论 -
双缓冲技术(C# GDI)
c#如何实现防窗体闪烁的功能。大家都会想到运用双缓冲技术,那么在c#中是如何做的? 1、 利用默认双缓冲(1)在应用程序中使用双缓冲的最简便的方法是使用 .NET Framework 为窗体和控件提供的默认双缓冲。通过将 DoubleBuffered 属性设置为true。 this.DoubleBuffered=true;(2)使用 SetStyle转载 2012-09-14 15:17:26 · 1198 阅读 · 0 评论 -
C# 调用Dll 传递字符串指针参数
最近用c#写一个小软件,要调用VC写的dll,传递参数给dll,由于是非托管代码,所以调用起来有点麻烦,要把参数转换成非托管代码的指针参数,然后再传递给dllusing System.Runtime.InteropServices; //操作Dll的类空间class CGicomIndex { [DllImport("Index_dll.dll")]转载 2012-06-04 07:48:34 · 601 阅读 · 0 评论 -
使用C#在进度条中显示复制文件的进度
使用C#在进度条中显示复制文件的进度 http://blog.csdn.net/beichen_/article/details/3986515Code List: ------------------------------------------------------------------------- /******************************转载 2012-05-02 07:58:09 · 413 阅读 · 0 评论 -
c#连接各种数据库的方法
-------------------------------------------------------------------------------.C#连接Oracle程序代码: --------------------------------------------------------------------------------using System.D转载 2012-04-30 22:42:46 · 302 阅读 · 0 评论 -
C++ dll 结构体中的二维数组 转为C#
C/C++ code#define MAX_STRM_LAYER 3 // 最多几级流媒体//服务器信息typedef struct tagServerInfo{long uID;char csStrMIP[MAX_STRM_LAYER][16]; // 这个不知道如何转换unsigned short nStrMPort[MAX_STRM_LAYER];char csDdtIP转载 2012-04-30 22:31:23 · 1401 阅读 · 0 评论 -
C#十进制 转换成二进制十六进制 八进制
1、 十进制转换为二进制int x = 10;string s = Convert.ToString(x, 2); 2、 十进制转换为八进制string s = Convert.ToString(x, 8); 3、 十进制转换为十六进制string s = Convert.ToString(x, 16); 4、二进制转换为十进制x = Convert.T原创 2012-05-01 04:33:51 · 1507 阅读 · 0 评论 -
C#委托与事件点滴
一、在控制台下使用C#委托和事件 我们都知道,C#中有“接口”这个概念,所谓的“接口”就是定义一套标准,然后由实现类来具体实现其中的方法,所以说“接口,是一组类的抽象”。同样道理,我们可以将“委托”理解为“方法的抽象”,也就是说定义一个方法的模板,至于这个方法具体是怎么样的,就由方法自己去实现。 我们知道接口的最大好处就是可以实现多态,同理,“委托”是可以实现方法的多态,当我们转载 2012-04-30 22:47:45 · 295 阅读 · 0 评论 -
关键字Ref和Out本质区别实例分析
学过C/C++的人,对C#的关键字Ref和Out应该都很好理解。它们都提供了一种可以在被调用函数内修改传递的参数的值的方法。因为这一功能很类似C/C++的指针。对于没学过C/C++的,也应该可以明白这两个参数的作用。 虽然Ref和Out都提供了修改参数值的方法,但它们还是有一点点小的区别。 1、Ref在作为参数调用函数之前,变量一定要赋值,否则会得到一个常规编译错误:使用了未赋值的变量转载 2012-04-11 20:46:08 · 422 阅读 · 0 评论 -
C#.NET string和StringBuilder区别
1.string与StringBuilder的区别。 string对象是不可变的。包括长度或者其中的任何字符都是不可以改变的。 string @string = "a"; @string = @string + "b"; 以上代码让人误以为@string是能够增加长度的。其实第二句代码是重新创建了一个新的对象,而第一个对象被丢弃,它将成为垃圾收集器收集的对象。 C#中转载 2012-04-11 20:47:53 · 473 阅读 · 0 评论 -
C#代码实例:在winform中查找控件
/// /// 在winform中查找控件 /// /// /// /// private System.Windows.Forms.Control findControl(System.Windows.Forms.Control control, string controlName) { Control c1;原创 2012-04-11 20:47:07 · 1238 阅读 · 0 评论 -
C#实现只许一个实例运行
using System;using System.Windows.Forms;using System.Runtime.InteropServices;using System.Diagnostics;namespace TST.SINGLE{ publicclass TSTPGM { /// /// The main entry po原创 2012-04-10 08:45:14 · 235 阅读 · 0 评论 -
C#实现只许一个实例运行
using System;using System.Windows.Forms;using System.Runtime.InteropServices;using System.Diagnostics;namespace TST.SINGLE{ publicclass TSTPGM { /// /// The main entry po转载 2012-05-02 08:00:10 · 242 阅读 · 0 评论 -
c#使用资源文件实现多语言应用程序
实现多语言的方法可能有使用资源文件,或者配置xml两种方法吧。没时间研究过多,学习了一下使用资源文件的方法,成功了。在.net2.0 中,m$ 为我们提供了一种简单方便的方法, 使用资源文件。 实现多语言的方法可能有使用资源文件,或者配置xml两种方法吧。 没时间研究过多,学习了一下使用资源文件的方法,成功了。 在.net2.0 中,m$ 为我们提供了一种简单方便的方法,使用转载 2012-05-02 07:52:32 · 2109 阅读 · 0 评论 -
C# Socket编程笔记
看到这个题目,是不是很眼熟?在博客园里搜下,保证会发现关于这个东东的文章实在是太多了~~~真得是没有写得必要,而且我也有点懒得去琢磨字句。(看到这,肯定得来个转折的了,不然就看不到下文了,不是吗)但是,为了自己下一篇要写的文章做参考,还是有必要先补充一下socket基础知识。 注意:如果你已经接触过socket,那就没什么必要耽误时间看下去了。另外,如果发现其中任何错误,欢迎直接指出。转载 2012-05-02 07:55:13 · 275 阅读 · 0 评论 -
C# 设置Winform开机运行
using Microsoft.Win32; #region 设置程序开机运行 // /// 设置程序开机运行 /// /// 要运行的EXE程序名称 /// 是否开机运行 private void SetAutoRun(string fileName, bool isAutoRun原创 2012-04-10 08:47:30 · 290 阅读 · 0 评论 -
字节数组、数值和十六进制字符串的转换
1、 将字节数组转化为数值publicstatic int ConvertBytesToInt(byte[] arrByte,int offset){ return BitConverter.ToInt32(arrByte, offset);}2、 将数值转化为字节数组第二个参数设置是不是需要把得到的字节数组反转,因为Windows操作系统中整转载 2012-05-02 08:01:50 · 345 阅读 · 0 评论 -
C#中调用Windows API的要点
http://blog.csdn.net/jingshuaizh/article/details/3862019API(Application Programming Interface),我想大家不会陌生,它是我们Windows编程的常客,虽然基于.Net平台的C#有了强大的类库,但是,我们还是不能否认API在Windows编程中的重要性。大多数的编程语言都支持API编程,而.Net转载 2012-05-02 07:58:59 · 395 阅读 · 0 评论 -
C#中的internal关键字学习
internal关键字是类型和类型成员的访问修饰符。只有在同一个程序集的文件中,内部类型或者是成员才可以访问。这是msdn上对internal的描述。只有这么一句话,但是具体怎么理解呢?类型就是enum(枚举类型),class(类),interface(接口),struct(结构)等类型。类型成员如函数,成员变量等。那么什么是程序集呢?根据msdn上通俗易懂的解释就是,一个完整的.exe或者是.d转载 2012-05-02 07:57:25 · 652 阅读 · 0 评论 -
5天不再惧怕多线程
5天不再惧怕多线程——第一天 尝试Thread5天不再惧怕多线程——第二天 锁机制5天不再惧怕多线程——第三天 互斥体5天不再惧怕多线程——第四天 信号量5天不再惧怕多线程——第五天 线程池原创 2012-05-02 07:54:07 · 321 阅读 · 0 评论