C#
weixin_40333655
这个作者很懒,什么都没留下…
展开
-
winform DataGridView 创建progressbar Class(进度条类型)用于创建进度条列
需要创建两个类using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace PUService{ public class DataGridViewProgressBarColumn : DataGridViewTextBoxColumn {原创 2021-08-03 11:51:43 · 531 阅读 · 0 评论 -
C# 实现的CRC32算法
using System;using System.Collections.Generic;using System.Linq;using System.Text; namespace ALG{ class CRC32 { static UInt32[] crcTable = { 0x00000000, 0x04c11...转载 2020-04-03 16:52:32 · 1634 阅读 · 0 评论 -
关于静态事件 static event 的使用
很多人都知道事件,一般定义一个事件是这样的写法public event EventHandler OneEvent;但是如果这样定义的话就需要进行null判断了于是很多人这样定义事件:public event EventHandler OneEventNeverNull = (o, e) => { };这样就不需要判断null了。上面的事件你可以把它认为是实例事件. 我们...转载 2020-01-17 10:56:05 · 2030 阅读 · 0 评论 -
(Datagridview)C# Datagridview 首列自动显示行号三种方法
方法一:点击控件的事件按钮,找到RowPostPaint事件;双击事件名称的右边空白部分创建事件的函数;然后在函数中添加如图中的代码;private void DGV_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e) { Rectangle rect = new Re...转载 2019-11-04 16:10:05 · 3933 阅读 · 1 评论 -
(.Net常识)(int),Int32.Parse,Conver.ToInt32三者在什么情况下使用以及其区别。
三者分别侧重在以下情况下使用:(int) :适合简单数据类型之间的转换,在对long 类型或是浮点型到int 类型的显式强制转换中使用,但是如果被转换的数值大于 Int32.MaxValue 或小于 Int32.MinValue,那么则会得到一个错误的结果。Int32.Parse():适合将string类类型转换成int类型,如int.Parse(session[“shuzi”].ToS...原创 2019-11-04 15:26:06 · 382 阅读 · 0 评论 -
(SqlConnection)ADO.net数据库连接完全解读
关于数据库连接的打开与关闭new SqlConnection一定会创建一个新的SqlConnection吗?今天踩了一个坑,用了一个static对象,存储了Connection,导致了并发量大时(35/s)出现单个连接的数据库请求堆积,以及并发Open导致的异常,最终使服务下线。排查中发现有些概念不清的地方,做了一下梳理。1、在项目启动后,首次获取数据库连接的时候(SqlConnectio...转载 2019-11-01 15:49:07 · 407 阅读 · 0 评论 -
(重要SqlConnection)正确理解 SqlConnection 的连接池机制
作者: eaglet.net 中通过 SqlConnection 连接 sql server,我们会发现第一次连接时总是很耗时,但后面连接就很快,这个其实和SqlConnection 的连接池机制有关,正确的理解这个连接池机制,有助于我们编写高效的数据库应用程序。很多人认为 SqlConnection 的连接是不耗时的,理由是循环执行 SqlConnection.Open 得到的平均时间几...转载 2019-11-01 16:11:53 · 2164 阅读 · 1 评论 -
(用ILDASM进行.net汇编查看)一步步教你读懂NET中IL(图文详解)
https://www.jb51.net/article/39635.htmILDASM工具时VS自带的, 例如VS2010下查看,选择开始VS2015好像找不到转载 2019-11-01 15:56:03 · 451 阅读 · 0 评论 -
(C#)获取主机所有设备的硬件信息和系统信息
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Management;using System.Net;using System.Runtime.InteropServices;us...转载 2019-10-31 16:38:14 · 1442 阅读 · 0 评论 -
自动在类文件或窗口文件头添加版权信息
在正式开发项目前,先设置VS模板文件,使VS创建类或窗体文件时在文件开始位置自动添加版权信息。除了添加版权信息,还可以注释形式添加说明及版本信息,效果如下。主要步骤如下:1)在记事本中准备版权信息,如下2)修改类模板文件。将文件夹"%vs%\Common7\IDE\ItemTemplatesCache\CSharp\Code\2052\Class"下的Class.cs复制到桌面上,用记事...原创 2019-10-31 15:25:32 · 496 阅读 · 0 评论 -
代码样式生成器
该工具名称为CodeFormater,是31天学CRM中的一个实例代码样式生成器的功能是将Csharp代码按照VS的样式显示,并标注行号;将SQL脚本按照SSMS查询窗体中的样式显示,并标注行号。代码样式生成器效果如下...原创 2019-10-31 14:52:42 · 887 阅读 · 0 评论 -
客户端时间同步
在客户端程序中如何保证每个客户端时间的一致?每个客户端时间可能不一样,如果需要使用同一个标准时间,应使用服务器时间。不过,若各客户端频繁获取服务器时间,势必会增加服务器压力。例如通过WebService执行select getDate()取得服务器时间。那么可通过以下方法确保客户端时间同步。一,程序初始化时计算服务器时间与本地时间相差秒数diffSeconds,之后使用标准时间时,使用Dat...原创 2019-10-31 13:45:19 · 594 阅读 · 0 评论 -
人民币金额转大写
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Text.RegularExpressions;using...原创 2019-10-31 13:22:34 · 294 阅读 · 0 评论 -
(HotKey)窗体添加全局热键
添加一个HotKey类using System;using System.Collections.Generic;using System.Linq;using System.Runtime.InteropServices;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;names...原创 2019-10-30 08:44:52 · 283 阅读 · 0 评论 -
(查看dll函数名和参数)通过VS自带的dumpbin查看dll包含的函数
本实例使用的VS2010自带的dumpbin查看打开命令行工具在开始,所有程序中找到VS2010,然后点击“Visual Studio Tools”,右键点击Visual Studio 2010 命令提示即可打开命令行工具如下图2.使用dumpbin工具示例:dumpbin -exports ***.dll 可将对应的dll文件直接拖入命令行, 自动显示dll的完整路径输...原创 2019-10-29 16:52:32 · 10275 阅读 · 0 评论 -
(.NET中枚举)C# 位域特性[flags]
.NET中的枚举我们一般有两种用法,一是表示唯一的元素序列,例如一周里的各天;还有就是用来表示多种复合的状态。这个时候一般需要为枚举加上[Flags]特性标记为位域,例如:[Flags] enum Styles{ ShowBorder = 1, //是否显示边框 ShowCaption = 2, //是否显示标题 ShowToolbox = 4 ...转载 2019-10-29 16:02:31 · 521 阅读 · 0 评论 -
(WebService)如何使用VS2015引用已发布的WebService
参考上一遍(WebService)手把手教会你使用vs2015创建webservice并发布到本地IIS1,获取链接地址在IIS管理器中,点击添加的网站,然后点击右边“浏览网站”项,如下图得到服务链接地址:http://localhost:1666/, 后面也可以加上服务文件名称如http://localhost:1666/master.asmx, 还可以加上“?wsdl”,如http:...原创 2019-10-29 14:53:31 · 1678 阅读 · 1 评论 -
(接口)Csharp多态的实现
什么是接口接口可以看做是一个标准, 所有继承的子类需要按照接口中声明的方法来接口用关键字 interface 修饰,接口的名字一般是I…able ,表示我有什么能力接口一般是在命名空间下的,也就是说跟类是在同一级别的 (接口也可以放在类里面,但是没有什么意义,因为可以把接口看做是一个特殊的类,类是解决方法,接口也是,所以放在里面没什么屌意思)接口里面的方法,属性不能用public,pri...转载 2019-10-28 16:47:45 · 276 阅读 · 0 评论 -
(SMS)使用短信猫发送短信
//======================================================================// 《31天学会CRM项目开发》机械工业出版社 版权所有 (C) 2015-2016// 文件名:Form1.cs//E:\WGY\C#学习\一套开源的企业业务系统框架Winform\586570 31天学会CRM项目开...原创 2019-10-21 09:58:55 · 294 阅读 · 0 评论 -
(打印机Printer)小票打印
源码路径为E:\WGY\C#学习\一套开源的企业业务系统框架Winform\586570 31天学会CRM项目开发pdf+源代码\31天学会CRM项目开发-源代码\003 实例及拓展练习\PrintDemo设计的WMI操作参考https://blog.csdn.net/u011854789/article/details/52792083using System;using System....原创 2019-10-18 15:20:14 · 606 阅读 · 0 评论 -
(App.config)应用程序配置文件的读写
配置文件用于设定程序运行所需要的参数,比如数据库连接字符串、分页数量、代理服务器及端口、SMTP邮件服务器、端口及身份证等。ASP.NET程序右web.config,JSP程序右web.xml,和Web程序一样,WinForm窗体程序也有自己的App.config,这样开发人员就不需要额外写一个文本文件或XML文件用于参数配置。加入App.config文件首先,从引用管理器中添加“Syst...原创 2019-10-18 10:56:04 · 292 阅读 · 0 评论 -
(Picture)图片加水印,转换格式,生成缩略图操作
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Drawing.Imaging;using System.IO;using System.Linq;using System.Tex...原创 2019-10-18 08:41:02 · 303 阅读 · 0 评论 -
(FileSystem)写入文本文件的三种方法
/// <summary> /// 写入文本文件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void ...原创 2019-10-16 16:10:10 · 1186 阅读 · 0 评论 -
(FileSystem)使用OpenFileDialog选中文本文件,并打开读取
/// <summary> /// 选中文本文件,并打开读取。 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void ...原创 2019-10-16 14:14:19 · 938 阅读 · 0 评论 -
(FileSystem)使用递归方式读取全部子文件及文件夹
/// <summary> /// 使用递归遍历读取文件夹下所有文件 /// </summary> /// <param name="dirName">文件路径</param> /// <param name="totalLevel">用于设置读取文件夹路径的最大深度<...原创 2019-10-16 11:55:27 · 936 阅读 · 0 评论 -
(C#)编码规范
制定编码规范的主要目的是使代码简洁美观、可靠高效,同时具备较强的可读性且易于维护。1.变量定义1)使用string,而不使用String。2)String.Format()代替字符串拼接。3)长字符串相加或拼接次数较多时,使用StringBuilder。4)使用int.TryParse(),而不使用int.Parse()。5)不在循环体内定义变量。2.命名方法采用驼峰式命名方法...原创 2019-10-15 16:38:02 · 141 阅读 · 0 评论 -
(DES)DES加解密实现
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Security.Cryptography;namespace EncryptionDemo{ class DES { /// <summary>...原创 2019-10-15 16:01:12 · 119 阅读 · 0 评论 -
C# 中字符和字符串类型,长度,取值范围
类型长度取值范围注意Char(字符型)16位双字节编码的任意符号单引号表示,比如:‘a’、‘1’、‘,’String(字符串型)不限所有unicode能表示的字符串双引号表示,比如 “iLync.cn”String的最大长度 = 2的28次方-1=268,435,455...原创 2019-10-14 14:06:49 · 726 阅读 · 0 评论 -
(BLLFactory)C# 通过反射实例化BLL业务逻辑层
BLLFactory的对象统一调用规则在我的框架里面,所有的业务类调用都是以BLLFactory入口进行开始创建,传递业务对象进去即可创建,这种统一入口的方式能够方便记忆,并减少代码,更重要的是能够很好把一些如缓存规则、创建规则封装起来,简化代码。BLLFactory的创建示意图如下所示。using Globalegrow.Toolkit;using System;using System...转载 2019-10-14 11:08:18 · 803 阅读 · 0 评论 -
(后台处理耗时操作方案)BackGroundWork的使用方法
在一些耗时的操作过程中,在长时间运行时可能会导致用户界面 (UI) 处于停止响应状态,用户在这操作期间无法进行其他的操作,为了不使UI层处于停止响应状态,我们倾向推荐用户使用BackgroundWorker来进行处理,这个后台的线程处理,可以很好的实现常规操作的同时,还可以及时通知UI,包括当前处理信息和进度等BackgroundWorker 类在 System.ComponentModel...转载 2019-10-12 15:20:51 · 874 阅读 · 0 评论 -
C#+Winform用ReportViewer控件制作报表
转载地址https://blog.csdn.net/langwen2048/article/details/81104543之前也做过报表,因为内容比较简单,就直接用Label和Textbox控件组合画出报表,还添加了PrintDialog打印控件用来打印报表,效果如下图:代码核心是:将你想要打印的内容绘制到 PrintDocument对象上去,并单击该对象的PrintPage事件 pri...转载 2019-07-23 10:07:40 · 2396 阅读 · 0 评论 -
最近发现的一个c# winform的一个很好用很强大的excel控件 reogrid控件
转载地址https://blog.csdn.net/qq_36224420/article/details/81540627还可参考下,使用ListView制作表格https://blog.csdn.net/oMoDao1/article/details/84972984使用ReportView制作报表。https://blog.csdn.net/langwen2048/article/de...转载 2019-07-23 09:57:09 · 7597 阅读 · 4 评论 -
C#进阶系列——WebApi 接口参数不再困惑:传参详解
一、get请求对于取数据,我们使用最多的应该就是get请求了吧。下面通过几个示例看看我们的get请求参数传递。1、基础类型参数[HttpGet]public string GetAllChargingData(int id, string name){ return "ChargingData" + id;}$.ajax({ type: "get", ...转载 2019-05-31 10:33:42 · 350 阅读 · 0 评论 -
asp.net连接数据库,在web.config中配置数据库连接
要使用ConfigurationManager.ConnectionStrings[“连接名”].ConnectionString 获取数据库连接字符串,需要先引用System.configurationasp.net与数据库连接的操作方法:1,打开VS, 选择视图 – 服务器资源管理器:2,右击数据链接 – 添加连接3.数据源可选两种方式,都可以。方式一,Microsoft S...原创 2019-05-31 09:36:05 · 15885 阅读 · 3 评论 -
c# 6.0 格式化字符串的另一种写法
代码片段public class Person { public long Id { get; set; } public string Name { get; set; } public int Age { get; set; } public string Sex { get; set; } ...原创 2019-05-17 11:58:42 · 563 阅读 · 0 评论 -
C#之使用HttpClient的优解
转载http://www.sohu.com/a/123674135_467799新工作入职不满半周,目前仍然还在交接工作,适应环境当中,笔者不得不说看别人的源码实在是令人痛苦。所幸今天终于将大部分工作流畅地看了一遍,接下来就是熟悉框架技术的阶段了。也正是在看源码的过程当中,有一个比较明显的用法细节引起了我的注意,我发现一位同事在请求远程Web Api时,虽然使用了 HttpClient 类,但...转载 2019-05-17 11:33:10 · 4677 阅读 · 0 评论 -
c#多线程进阶
一、多线程传递参数的方法整理自:https://www.cnblogs.com/shi5588/p/6130536.html1 、带参数的委托方法来传递参数 static void Main(string[] args) { var d = new Data { Message = "中国" }; //通过带参数的委...转载 2019-05-14 11:48:44 · 158 阅读 · 0 评论 -
C#多线程基础知识和小实践(重要)
转载https://blog.csdn.net/qq_41885871/article/details/83653733源文来源 :http://www.cnblogs.com/jackson0714/p/5100372.html一、多线程介绍C#通过多线程支持并行执行的代码。一个线程是一个独立执行的路径,可以同时与其他线程一起运行。一个C#客户端程序(Console,WPF,Winows...转载 2019-05-14 11:30:57 · 138 阅读 · 0 评论 -
委托的深入理解和用法(重要)
”委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋给参数的做法,可以避免在程序中大量使用If-Else(Switch)语句,同时使得程序具有更好的可扩展性。转载 2019-05-14 11:03:49 · 354 阅读 · 0 评论 -
ReportViewer动态报表开发完整步骤
转载地址https://blog.csdn.net/waterxcfg304/article/details/45788639在朋友的邀请下,朋友公司是做高端智能会议系统的给他们公司开发一个简单的公司门户网站。本人都多年没有写ASP.NET C#代码了。这几年都在做数据库和商务智能这块。反正朋友说网站不难,就个简单的展现网站,于是就答应了,找了一天到他们公司去听具体的开发需求,听了需求后,觉得难...原创 2019-07-23 11:37:24 · 583 阅读 · 0 评论