C#学习笔记
Jack_Spring
在这信息迅速传递的年代,你已无处藏身。
展开
-
C#【异常处理】调用dll。GetProcAddress 托管的 PInvoke 签名与非托管的目标签名不匹配?
在定义托管时,添加[unmanagedfunctionpointer(callingconvention.cdecl)]原创 2017-05-05 10:08:46 · 1065 阅读 · 0 评论 -
C#【数据转换】十进制\byte[]相互转换
byte[] b_t = System.BitConverter.GetBytes(30); int i = System.BitConverter.ToInt32(b_t,0);原创 2017-04-24 10:56:49 · 13499 阅读 · 0 评论 -
C#【控件使用/异常处理】richtextbox中,ScrollToCaret()造成的线程堵塞
richtextbox中,频繁调用ScrollToCaret()会造成线程堵塞。在一个项目中,需要频繁对richtextbox数据进行更新,此时会造成窗口主线程的“假死”状态,通过调试可知,是在过快使用 ScrollToCaret()造成的。屏蔽ScrollToCaret()或将其放入其他慢更新事件中,可解决这种“假死”。我的解决方法是,将ScrollToCaret()放入定时器中,周期1原创 2017-03-27 20:17:53 · 3419 阅读 · 3 评论 -
C#【数据转换】十六进制字符串转化成字节数组
public byte[] hexToBytes(String s) { byte[] bytes = new byte[s.Length / 2]; for (int i = 0; i < bytes.Length; i++) { bytes[i] = (byte)Conve原创 2017-03-25 18:06:45 · 1442 阅读 · 1 评论 -
C#【数据转换】取16倍数字节方法
需求:输入整字节字符串,获取对应的16倍整字节数。即:输入字节在1-16之间,输出的字节数为16,17-32直接,输出为32例如:输入字节:000102030405,输出字节整数16.C#代码 int nOutputData = (strInputData.Length / 2+15)/16*16;这仅仅是一个突发奇想,如果还有更简洁的方法,望指出。原创 2017-02-20 11:16:23 · 971 阅读 · 0 评论 -
C#【控件使用】复选框
最近做程序用到了复选框,需求:1、checkbox两个;2、两个只能选中其中之一;3、同一checkbox在选中时被单机,状态不变。解决方法:两个checkbox分别增加1个checkbox_CheckedChanged的事件控件:checkbox1、checkbox2c#代码private void checkbox1_CheckedCha原创 2017-02-09 11:33:58 · 2627 阅读 · 0 评论 -
C#【数据转换】十进制字符串,转十六进制字符串
//input "0166"//output "0A"//流程int input = int.Parse("0166");//Int 到 Byte数组byte[] b_temp= System.BitConverter.GetBytes(input ).Reverse().ToArray();string output = "";foreach (byte b in b原创 2017-01-05 18:03:21 · 1793 阅读 · 0 评论 -
C#【网络连接】TCP连接握手代码
之前做了一个TCP握手的工具,找了一些资料总结出代码private void ServerConnect() { Socket client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); IPAddress ip = IPAddr原创 2016-08-21 16:05:48 · 1980 阅读 · 0 评论 -
C#【VS设置】解决英文的操作系统下,VS中的中文符号乱码
背景:在重装完系统后(win10企业版),设置的系统语言为英文,VS2017中的中文部分符号(":"、”,“、”。“、”!“等)乱码。君显示为”口“。解决方法:控制面板中,选择Control Panel\Clock, Language, and Region下的Region,弹出一个属性窗口将format:english选项改为Chinese说明:这种问题的出现原创 2017-09-20 14:18:58 · 3286 阅读 · 0 评论