
C#
feiyingzaishi
这个作者很懒,什么都没留下…
展开
-
C#示波器
1、先上界面参考JScope编写的上位机曲线界面,可增加最多6条数据线,可改变曲线颜色;接收总点数有限制Int32.MaxValue / 4;在显示刷新时,建议显示总点数尽量不要太大,否则会刷新过慢2、注意事项自定义控件直接放在一个Form中刷新显示,会比直接在一个界面上刷新显示慢点;默认是3条数据线,如果想要修改可修改“”public static int Defin...原创 2020-03-02 11:48:26 · 6111 阅读 · 4 评论 -
C#Dll和自定义控件
1、Dll类库一般是包含函数(方法),很少包含控件,因为如果你包含控件的话,在使用时,还不如使用自定义控件使用的方便1.概述动态链接库(Dynamic Linked Library):将写好的函数存在库中,以供其他程序开发调用,调用方式为“动态的”。Windows为应用程序提供了丰富的函数调用,这些函数调用都包含在动态链接库中。其中有3个最重要的DLL,Kernel32.dll,它包...原创 2020-03-01 12:11:47 · 622 阅读 · 0 评论 -
C# Control.BeginInvoke()和delegate的BeginInvoke()的区别
转载https://blog.youkuaiyun.com/aa70m1_xl/article/details/80735414这两者的区别在于委托的BeginInvoke方法是新起一个线程(辅助后台线程)来执行委托,而原线程继续往下执行;Control.BeginInvoke则是将委托强制传递至UI线程执行,所以可能会造成UI线程假死。所以想要执行异步,应该用delegate的Begin...转载 2020-01-09 10:57:39 · 526 阅读 · 0 评论 -
C#正则表达式基础
正则表达式可以利用数学算法解决计算机中的文本检索和匹配问题;是一种专门用于字符串处理的语言检索:从字符串中获取我们想要的部分匹配:判断给定的字符串是否符合正则表达式的过滤逻辑*///定位字符 ^ $//string ss = "I am blue cat";//string newstr = Regex.Replace(ss, "^", "开始-");//搜索字符串//Cons...原创 2019-12-08 23:11:28 · 135 阅读 · 0 评论 -
C#字符串常StringBuilder用方法
//当我们对一个字符串需要频繁的删除和添加的时候,使用StringBuilder的效率较高 //第一种创建方式 StringBuilder sb1 = new StringBuilder("www.baidu.com"); //第二种创建方式 StringBuilder sb2 ...原创 2019-12-08 21:38:30 · 341 阅读 · 0 评论 -
C# 字符串常用方法1
string s = "www.taike.com";//我们使用string类型存储字符串类型 int length = s.Length; //Console.WriteLine(length); //Console.Write(length); ////1--字符串拼接...原创 2019-12-08 21:38:20 · 120 阅读 · 0 评论 -
C#自定义控件以及GDI测试
C#自定义控件选择“解决方案”,右键-选择“添加”,选择“新建项目”,弹出对话框:选择“窗体控件库”新建的自定义控件,继承自那个控件,在新建的.cs文件中直接修改即可,如下如所示 namespace SplitContainer_EX{ public partial class My_SP_EX : SplitContainer { p...原创 2019-06-17 10:51:36 · 935 阅读 · 0 评论 -
datagridview表格操作和自适应窗体
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace 自适应窗体{ class AutoSizeormClass ...转载 2019-06-05 23:48:34 · 1198 阅读 · 0 评论 -
C#中关于DataGridView用法
https://www.cnblogs.com/shouhutian/p/7599442.htmlhttps://blog.youkuaiyun.com/u013711462/article/details/21294929转载 2019-06-05 23:13:47 · 374 阅读 · 0 评论 -
C#中数组 集合(ArrayList) 泛型集合List 字典(dictionary全面对比
转载:https://www.cnblogs.com/JK1989/p/6679523.html?utm_source=itdadao&utm_medium=referralC#中数组、集合(ArrayList)、泛型集合List<T>、字典(dictionary<TKey,TValue>)全面对比为什么把这4个东西放在一起来说,因为c#中的这4个对象都是用...转载 2019-06-05 20:57:43 · 4282 阅读 · 0 评论 -
向RichTextBox控件不停的追加数据时,如何把光标的焦点始终显示到最后
转载:https://blog.youkuaiyun.com/lz465350/article/details/8970619 this.rizhi.Focus();//让文本框获取焦点 this.rizhi.Select(this.rizhi.TextLength, 0);//设置光标的位置到文本尾 this.rizhi.ScrollToCaret();//滚动到控件...转载 2019-06-05 10:47:12 · 2384 阅读 · 0 评论 -
转载 c# 窗体设计的自适应调节
笔者这几天在公司实习,学习使用c#实现一些窗口。作为初学者,主要是使用一些基本的控件来实现这个窗口,但是为了美观,我们还得实现窗口的自适应。起初,我对于自适应也是不太清楚,经过百度得知们要实现窗口的自适应,主要有以下三种方法:**实现c#窗口自适应的三种方法1.使用Anchor属性进行设置。2.使用Dock属性进行设置。3.自定义resize类实现。**在了解了方法之后,笔者也...转载 2019-06-05 10:17:43 · 367 阅读 · 0 评论 -
C# 展开和折叠代码的快捷键
转载https://www.cnblogs.com/hnfxs/p/3184947.htmlVS2005代码编辑器的展开和折叠代码确实很方便和实用。以下是展开代码和折叠代码所用到的快捷键,很常用:Ctrl+M+O:折叠所有方法Ctrl+M+M:折叠或者展开当前方法Ctrl+M+L: 展开所有方法解决VS2010中工具箱的的不见的问题:按快...转载 2019-05-31 15:39:10 · 658 阅读 · 0 评论 -
【C#】Color颜色对照表
https://blog.youkuaiyun.com/kasama1953/article/details/51568813转载 2019-04-14 21:15:51 · 1682 阅读 · 0 评论 -
控件ZedGraph
参考:http://www.bubuko.com/infodetail-1406879.htmlhttps://blog.youkuaiyun.com/u012370255/article/details/35995705https://www.cnblogs.com/yuhuameng/p/3655827.html转载 2019-04-11 22:00:25 · 171 阅读 · 0 评论 -
VS2013 添加 ”zedGraph.dll ” 一直提示“”没有可放置在工具箱上的组件”问题的解决办法
转载自:https://www.cnblogs.com/JensonLiu/p/9449602.html这是什么问题呢????后来试着从官网下载的Demo中加载,结果一下就给我加载进去了,一开始我还觉得是我下载的 dll有问题,抱着试一试的心态将这个 5.1的版本添加到官方的Demo中去试试添加,结果也添加进去了。那问题到底在哪儿呢???(强迫症犯了。。不找到问题不罢休),最后发现...转载 2019-04-10 16:13:21 · 789 阅读 · 1 评论 -
C#路径中获取文件全路径、目录、扩展名、文件名称常用函数
转载:https://www.cnblogs.com/JiYF/p/6879139.htmlC#路径中获取文件全路径、目录、扩展名、文件名称常用函数 需要引用System.IO 直接可以调用Path的静态方法class Program { static void Main(string[] args) { //获取...转载 2019-04-02 15:22:48 · 202 阅读 · 0 评论 -
aes-cbc模式加密
转载:https://www.cnblogs.com/eleven-elv/p/7289579.htmlaes-cbc模式加密——密码分组链接模式(Cipher Block Chaining (CBC))aes-cbc模式加密在加密和解密是需要一个初始化向量(Initialization Vector, IV),在每次加密之前或者解密之后,使用初始化向量与明文或密文异或。1. 加密...转载 2019-03-31 22:54:00 · 4803 阅读 · 1 评论 -
转载:C# Encoding
https://www.cnblogs.com/GreenLeaves/p/7152781.html之前做公司项目的时候,对于C#编码这块总是一知半解,所以打算通过这篇笔记对C#编码(Encoding)进行彻底的扫盲,关于编码和字符集的基础知识,请参考字符集和字符编码(Charset & Encoding),看完这篇文章之后,来看本文会更加的轻松。1、Encoding(1)、如...转载 2019-03-25 13:22:29 · 680 阅读 · 0 评论 -
转载:AES补位填充PaddingMode.Zeros模式
http://blog.chinaunix.net/uid-29641438-id-5786927.html其实AES就是对16byte(128bit)数据进行加密的过程。说白了就是把128位通过一系列的变化变成另一个128数据。这里主要用到2个关键的东西。密钥(key)这个是绝对不能省的。key要先扩张,然后进行10次的行列变化,与数据进行抑或操作。最终才能得到加密后的数据。此位还有...转载 2019-03-25 13:20:55 · 2007 阅读 · 0 评论 -
[C#].NET中几种Timer的使用
转载自:https://www.cnblogs.com/yang-fei/p/6169089.htmlhttps://www.cnblogs.com/Tanghongchang/p/9644766.html--重点参考转载 2019-03-03 21:50:01 · 187 阅读 · 0 评论 -
C#利用INI文件保存数据
WritePrivateProfileString(lpApplicationName, lpKeyName, lpString, lpFileName)说明在初始化文件指定小节内设置一个字串返回值Long,非零表示成功,零表示失败。会设置GetLastError参数表参数类型及说明lpApplicationNameString,要在其中写入新字串的小节名称。这个...转载 2019-03-02 19:39:32 · 3156 阅读 · 0 评论 -
C#抽象类的学习、虚方法的学习、接口的学习
抽象类https://www.cnblogs.com/yzl050819/p/5887497.html虚方法https://www.cnblogs.com/ysq0908/p/6407848.html接口是指定一组函数成员而不实现他们的引用类型。所以只能类和结构来实现接口,在继承该接口的类里面要实现接口的所有方法https://blog.youkuaiyun.com/luoshao_/articl...转载 2019-02-16 15:05:22 · 149 阅读 · 0 评论 -
CRC8,CRC16常见几个标准的算法及C语言实现
参考网址CRC16常见几个标准的算法及C语言实现先说一下CRC8的实现方式CRC校验类型:CRC8/MAXIM多项式:X8+X5+X4+1Poly:0011 0001 0x31高位放到后面就变成 1000 1100 0x8cC现实代码:unsigned char crc8_chk_value(unsigned char *message, unsigned char...转载 2018-12-20 14:20:59 · 7043 阅读 · 0 评论 -
C#的字符串换、Unicode编码理解
1、参考C#中Encoding.Unicode与Encoding.UTF8的区别Unicode只是给这世界上每个字符规定了一个统一的二进制编号,并没有规定程序该如何去存储和解析。可以说UTF-8是Unicode实现方式之一Windows默认的Unicode实现是UTF-16,所以C#中Encoding.Unicode就是UTF-16。2、参考从字节理解Unicode(UTF8/...转载 2018-12-07 15:18:38 · 910 阅读 · 0 评论 -
C#面试题
https://www.cnblogs.com/ike_li/articles/1276993.html转载 2018-10-29 23:43:03 · 119 阅读 · 0 评论 -
C#点击多次button仅生成一个窗体(单例模式)
优化基本的单例模式Form1using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Ta...原创 2018-10-29 19:31:48 · 912 阅读 · 0 评论 -
C#中form窗体之间的传递几个方法学习
转载自:https://blog.youkuaiyun.com/u011981242/article/details/48785421在windows form之间传值,我总结了有四个方法:全局变量、属性、窗体构造函数和delegate。第一个全局变量:这个最简单,只要把变量描述成static就可以了,在form2中直接引用form1的变量,代码如下:在form1中定义一个static变量pu...转载 2018-10-29 18:56:37 · 2499 阅读 · 1 评论 -
C#窗体间传值的两种方法
转载自:https://www.cnblogs.com/xuhuan/articles/1418705.html首先创建一个父窗体form1,拥有一下控件:textBox1,button1;再创建一个子窗体form2,拥有控件:textBox2,button2;(首先描述一下整个过程:当点击form1的button1时,打开form2窗口,然后在textBox2里面输入任意值,当点击b...转载 2018-10-29 16:52:52 · 432 阅读 · 0 评论 -
【C#】Color颜色对照表
转载自:https://www.cnblogs.com/endv/p/4199619.html转载 2018-10-25 20:52:50 · 516 阅读 · 0 评论 -
C# 获取串口全称
var search = new ManagementObjectSearcher(@"SELECT * FROM Win32_PnPEntity WHERE Name LIKE '%COM%'"); ...原创 2018-10-21 22:31:33 · 2823 阅读 · 0 评论 -
C# 过滤SerialPort端口
转载自:https://www.cnblogs.com/mrhyher/p/5383864.htmlC#中的SerialPort类只能通过SerialPort.GetPortNames()来获取端口名字,而且出来都是COM+数字的字样,如果我要识别COM端口是什么设备的,它就无能为力了,此时我们可以使用ManagementObjectSearcher获取所有COM&LPT的port,然...转载 2018-10-21 21:32:14 · 594 阅读 · 0 评论 -
C#中Delegate和Event以及它们的区别
转载自:https://www.cnblogs.com/chengxingliang/archive/2013/05/21/3051912.html一、Delegate委托可以理解为一个方法签名。 可以将方法作为另外一个方法的参数带入其中进行运算。在C#中我们有三种方式去创建委托,分别如下: public delegate void Print(string ...转载 2018-10-16 17:38:48 · 2433 阅读 · 0 评论 -
byte[]数组和int之间的转换
转载自:https://www.cnblogs.com/lizhenlin/p/6807856.html这里简单记录下两种转换方式:第一种:1、int与byte[]之间的转换(类似的byte short,long型) [java] view plain copy /** * 将int数值转换为占四个字节的byte数组,本方法适用于(低位在前,高位在后)的顺...转载 2018-10-16 17:29:42 · 3458 阅读 · 0 评论 -
c#之Stringbuilder、String、Append
转载自:https://www.cnblogs.com/ck235/p/5080165.html问题引出: StringBuilder sqlQuery = new StringBuilder(); sqlQuery.Append("SELECT COUNT([ProductID]) FROM ~~where [IsDelete]='F' ); 1.StringBuilder和St...转载 2018-10-10 19:14:47 · 1846 阅读 · 0 评论 -
C# 使用委托实现多线程调用窗体的四种方式(转)
转载自:https://www.cnblogs.com/xihong2014/p/9133580.html1、方法一:使用线程 功能描述:在用c#做WinFrom开发的过程中。我们经常需要用到进度条(ProgressBar)用于显示进度信息。这时候我们可能就需要用到多线程,如果不采用多线程控制进度条,窗口很容易假死(无法适时看到进度信息)。下面我就简单结合一个我写的例子给大家做一个...转载 2018-10-09 19:21:58 · 875 阅读 · 0 评论 -
C#中的线程二(BeginInvoke和Invoke)
转载自:https://www.cnblogs.com/loveheyi/p/5319846.html近日,被Control的Invoke和BeginInvoke搞的头大,就查了些相关的资料,整理如下。感谢这篇文章对我的理解Invoke和BeginInvoke的真正含义 。(一)Control的Invoke和BeginInvoke我们要基于以下认识:(1)Control的Invok...转载 2018-10-09 19:20:40 · 3806 阅读 · 1 评论 -
C#多线程学习(三) 生产者和消费者
前面说过,每个线程都有自己的资源,但是代码区是共享的,即每个线程都可以执行相同的函数。这可能带来的问题就是几个线程同时执行一个函数,导致数据的混乱,产生不可预料的结果,因此我们必须避免这种情况的发生。C#提供了一个关键字lock,它可以把一段代码定义为互斥段(critical section),互斥段在一个时刻内只允许一个线程进入执行,而其他线程必须等待。在C#中,关键字lock定义如下:...转载 2018-10-09 15:11:56 · 723 阅读 · 0 评论 -
C#中的异步编程
C#中的异步编程转载自https://blog.youkuaiyun.com/u013477973/article/details/71081836进程与线程程序在启动时,系统会在内存中创建一个进程。进程是程序运行所需资源的集合,这些资源包括虚地址空间、文件句柄和其他程序运行所需的东西。在进程的内部,系统创建一个称为线程的内核对象,代表真正执行的程序。当线程被建立时,系统在Main方法的第一行语句...转载 2018-10-09 14:48:21 · 519 阅读 · 0 评论 -
异步编程与多线程编程的联系和区别
https://blog.youkuaiyun.com/qq_27825451/article/details/788531191、异步编程与多线程的区别共同点:异步和多线程两者都可以达到避免调用线程阻塞的目的,从而提高软件的可响应性不同点: (1)线程不是一个计算机硬件的功能,而是操作系统提供的一种逻辑功能,线程本质上是进程中一段并发运行的代码,所以线程需要操作系统投入CPU资...转载 2018-10-09 14:32:59 · 281 阅读 · 0 评论