![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C# WinForm和WPF
文章平均质量分 74
C# WinForm和WPF编程
雪域迷影
专业:计算机
爱好:服务端和客户端开发,桌面开发,全栈开发
兴趣:象棋、乒乓球、游泳、听音乐。
展开
-
在 C#和ASP.NET Core中创建 gRPC 客户端和服务器
gRPC是一个高性能的开源的通用RPC框架,由Google公司开发,支持常用的C++、Java、Python、C#/.Net、Go、Node、Dart、Kotlin、Object-C、PHP、Ruby等语言,采用作为数据交换格式,并且采用C++开发,支持Windows 、Linux、macOS跨平台开发。对于跨语言服务调用非常方便,只要使用protobuf定义接口协议,然后按照gRPC语言SDK调用即可。原创 2024-03-31 00:47:03 · 1163 阅读 · 0 评论 -
HJ212协议C#代码解析实现
由于是做环保相关的,有时需要对212协议进行拆包和解包。HJ212协议是一种字符串协议,数据传输通讯包主要由包头、数据段长度、数据段、CRC校验、包尾组成,其中“数据段”内容包括请求编码、系统编码、命令编码、密码、设备唯一标识、总包数、包号、指令参数。请求编码为请求的时间戳,系统编码ST统一规定为22,命令编码CN为该数据包的时间类型,访问密码、设备唯一标识在对接时由平台提供,指令参数为数据内容。通讯协议的数据结构如图4所示。图4 通讯协议的数据结构6.1.1通讯包结构组成名称类型长度描述。原创 2024-03-17 12:22:15 · 899 阅读 · 1 评论 -
Windows中使用MySql.Data库将C# 接到 MySQL
在本文中,我演示了如何使用insertupdatedelete和select语句的简单示例将 C# 连接到 MySQL 并查询表。另外,由于它在 Internet 上并未广泛使用,因此我决定演示如何从 C# 应用程序备份和恢复 MySQL 数据库。翻译 2024-03-10 11:30:35 · 252 阅读 · 0 评论 -
Windows中在C#中使用Dapper和Mysql.Data库连接MySQL数据库
在Windows中使用C#连接Mysql数据库比较简单,可以直接使用库,目前最新版本为:8.3.0。当然也可以结合和库一起使用,目前Dapper的最新版本为:2.1.35。是一款轻量级ORM工具,是一个简单的.NET对象映射器,在速度上几乎与使用原始ADO.NET数据读取器的速度一样快。ORM是一个对象关系映射器,它负责数据库和编程语言之间的映射。Dapper通过扩展IDbConnection提供一些有用的扩展方法去查询数据库,提供了一种简单、高效的方式来执行数据库查询、插入、更新和删除操作。原创 2024-03-09 14:32:34 · 1312 阅读 · 0 评论 -
C#中使用OpenCvSharp4绘制直线、矩形、圆、文本
继之前的和,将之前的Python和C++示例代码翻译成C#语言,很简单,还是借用库中的Line、Rectangle、Circle、PutText,值得一提的是以及库和的函数基本相同。原创 2024-02-03 08:20:59 · 1036 阅读 · 0 评论 -
C#使用OpenCvSharp4库读取电脑摄像头数据并实时显示
C#使用OpenCvSharp4库读取电脑摄像头数据并实时显示原创 2024-01-28 22:23:23 · 2149 阅读 · 0 评论 -
C#使用OpenCvSharp4库读取本地视频
C#使用OpenCvSharp4库读取本地视频原创 2024-01-28 22:11:34 · 941 阅读 · 1 评论 -
C#使用OpenCvSharp4库中5个基础函数-灰度化、高斯模糊、Canny边缘检测、膨胀、腐蚀
C#使用OpenCvSharp4库中5个基础函数-灰度化、高斯模糊、Canny边缘检测、膨胀、腐蚀原创 2024-01-28 21:49:44 · 1227 阅读 · 0 评论 -
C#中使用OpenCvSharp4库读取本地图像并显示
是基于.NET 的 OpenCV 包装器,源代码是采用C和C++写的,目前对于C++和Python开发者相对来说比较友好,对于Python开发者而言官方提供了使用。首选我们使用Visual Studio 2022创建一个.Net控制台程序,然后安装安装包,我们在Visual Studio 2022中依次点击【项目】菜单->【管理 NuGet 程序包(N)】,如下面的Gif动态图所示:可以看到安装完。原创 2024-01-28 21:28:56 · 1267 阅读 · 0 评论 -
几个实用的C#项目
对应的Github源代码:https://github.com/Uzi-Granot/PdfFileWriter对应的Github源代码:https://github.com/Uzi-Granot/QRCode原创 2023-04-12 22:52:35 · 1080 阅读 · 0 评论 -
适用于 VS 2022 .NET 6.0(版本 3.1.0)的二维码编码器和解码器 C# 类库
适用于 VS 2022 .NET 6.0(版本 3.1.0)的二维码编码器和解码器 C# 类库翻译 2023-04-12 22:22:56 · 748 阅读 · 0 评论 -
IoTClient.Examples
IoTClient ToolIoTClient Tool是IoTClient库的桌面程序工具。IoTClient Tool主要作用:1、可用来测试Plc和相关协议的通信 2、可作为IoTClient库使用例子。开发工具:Visual Studio 2019QQ交流群:995475200IoTClient Tool 下载1 下载2IoTClient Tool效果图...转载 2021-05-06 19:14:16 · 610 阅读 · 0 评论 -
IoTClient
IoTClient [English](README.md) | 简体中文这是一个物联网设备通讯协议实现客户端,将包括主流PLC通信读取、ModBus协议、Bacnet协议等常用工业通讯协议。本组件基于.NET Standard 2.0,可用于.Net的跨平台开发,如Windows、Linux甚至可运行于树莓派上。本组件终身开源免费,采用最宽松MIT协议,您也可以随意修改和商业使用(商业使用请做好评估和测试)。开发工具:Visual Studio 2019QQ交流群:995475200.转载 2021-05-06 18:59:14 · 3387 阅读 · 0 评论 -
C#中使用Newtonsoft.Json序列化和反序列化自定义类对象
在C#中序列化和反序列化自定义的类对象是比较容易的,比如像下面的一个Customer类,private class Customer { public string CustomerName { get; set; } public string Email { get; set; } public int Age { get; set; } public decimal TotalSales原创 2021-05-03 10:59:42 · 1119 阅读 · 0 评论 -
C#中的简单异步记录器
C#中的简单异步记录器C#中的简单异步记录器介绍背景使用代码数据封装编写日志条目未来的工作兴趣点历史许可证关于作者C#中的简单异步记录器本文翻译自CodeProject上面的一篇博客A Simple Asynchronous Logger in C#作者:Toby Patke2020年5月24日Ms-PL6分钟阅读Clearcove.Logging是一个非常简单的日志记录库,旨在使用直接许可条款来满足大多数日志记录需求。Download SimpleLogger.zip - 7.2 KB介翻译 2021-03-17 21:21:50 · 571 阅读 · 0 评论 -
C# Tasks Async Await
最近一段时间在Youtube上面看了不少关于计算机方面的编程视频,其中UP主AngelSix的C#视频个人感觉讲得还可以,C# Tasks Async Await这个视频讲解了C#中的任务以及结合Async/Await的用法。这节视频的相关代码如下:using System;using System.Net;using System.Threading;using System.Threading.Tasks;namespace TasksInConsole{ class Progr转载 2021-02-10 22:49:29 · 374 阅读 · 0 评论 -
Windows Forms:在C#中将图像转换成灰度图
Windows Forms:在C#中将图像转换成灰度图这篇文章向你展示在C# Windows窗体应用程序中如何将图像转换成灰度图。创建一个新的Windows窗体应用程序项目,然后创建一个允许你可以打开图像,然后将图像转换成黑白推向的简单的UI,如下图所示:为Open按钮添加单击事件处理,允许你选择一个图像文件,然后将图像显示到PictureBox控件中。对应的代码如下所示:private void btnOpen_Click(object sender, EventArgs e)翻译 2021-02-06 23:23:07 · 1681 阅读 · 0 评论 -
可为您节省时间和精力的10个C#库
本文的10个C#库转载自Youtube上,地址为:10 C# Libraries To Save You Time And Energy这些是我用来简化工作的10个C#库。 了解如何从这些库中节省时间和精力。Patreon: https://www.patreon.com/IAmTimCoreyMailing List: https://signup.iamtimcorey.com/SharpZipLib: http://icsharpcode.github.io/SharpZipFluentE转载 2021-01-08 22:46:43 · 499 阅读 · 0 评论 -
.NET正则表达式
.NET 正则表达式正则表达式提供了功能强大、灵活而又高效的方法来处理文本。 正则表达式丰富的泛模式匹配表示法使你可以快速分析大量文本,以便:查找特定字符模式。验证文本以确保它匹配预定义模式(如电子邮件地址)。提取、编辑、替换或删除文本子字符串。将提取的字符串添加到集合中,以便生成报告。对于处理字符串或分析大文本块的许多应用程序而言,正则表达式是不可缺少的工具。正则表达式的工作方式使用正则表达式处理文本的中心构件是正则表达式引擎(由 .NET 中的 System.Text.Regular转载 2020-12-20 19:19:55 · 381 阅读 · 0 评论 -
.NET开源工具类库-Masuit.Tools
Masuit.Tools [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-e3Kp9qFG-1602505972572)(https://img.shields.io/nuget/v/Masuit.Tools.Core.svg)] 包含一些常用的操作类,大都是静态类,加密解密,反射操作,动态编译,权重随机筛选算法,简繁转换,分布式短id,表达式树,linq扩展,文件压缩,多线程下载和FTP客户端,硬件信息,字符串扩展方法,日期时间扩展操作,中国农历,大文件拷贝,图像裁剪,验转载 2020-10-12 20:33:35 · 7391 阅读 · 0 评论 -
C#串口操作类,包括串口读写操作
C#串口操作类,包括串口读写操作本文转载自博客园:C#串口操作类,包括串口读写操作串口进行操作的类,其中包括写和读操作,类可设置串口参数、设置接收函数、打开串口资源、关闭串口资源,操作完成后,一定要关闭串口、接收串口数据事件、接收数据出错事件、获取当前全部串口、把字节型转换成十六进制字符串等功能。这个串口类已经过了调试,可以使用,相关C#代码如下:using System;using System.Collections.Generic;using System.Text;using Sy转载 2020-09-16 00:27:20 · 947 阅读 · 1 评论 -
SNMP++.NET 项目
SNMP++.NET 项目SNMP++.NET 是著名 SNMP++ Library 的.NET平台封装类库。它是修改自 SNMP++ 所以和 SNMP++ 有相同的 license,这表明它完全免费。SNMP++.NET 的特色:SNMPv1/v2c/v3all PDU types (Get, GetNext, GetBulk, Set, Response, Trap, v1Trap, Inform, Report)MD-5 or SHA-1 based authentication转载 2020-09-11 09:06:13 · 215 阅读 · 0 评论 -
C# 逐行读取文本文件
本文转载自C# 逐行读取文本文件目录使用 C# 中的 File.ReadLines() 方法逐行读取文本文件使用 C# 中的File.ReadAllLines() 方法逐行读取文本文件使用 C# 中的 StreamReader.ReadLine() 方法逐行读取文本文件我们可以对文本文件执行多种操作。要在任何程序中使用文件中的数据,我们首先需要以适当的数据结构读取该数据。在 C# 中,有几种有效地逐行读取文本文件的方法。使用 C# 中的 File.ReadLines() 方法逐行读取文本文件Fil转载 2020-09-04 10:44:32 · 17503 阅读 · 0 评论 -
C#逐行读取和写入文件
前言前面两篇博客讲到go语言逐行读取和写入文件以及nodejs使用readline逐行读取和写入文件今天使用C#语言实现从输入文件中读取每行数据,然后将每行字段组合成SQL插入脚本,然后逐行写入另外一个空白文件中。tb_param表的结构tb_param表的结构如下:创建表的SQL脚本如下,我使用的是Sqlite数据库 DROP TABLE IF EXISTS "main"."tb_param";CREATE TABLE tb_param(protocol INT NOT NULL,sla原创 2020-09-04 10:17:32 · 2324 阅读 · 1 评论 -
C#-输入主机名,使用Dns类解析出对应的IP地址信息
C#中使用Dns相关类查询主机名对应的IP地址等信息C#中的Dns类能够与默认的DNS服务器进行通信,以检索IP地址。下面的DnsLookup示例代码使用了以下名称空间:SystemSystem.NetSystem.Threading.Tasks样例应用程序实现一个控制台程序(包),要求用户输入主机名(也可以添加一个IP地址),通过Dns.GetHostEntryAsync得到一个IPHostEntry。在IPHostEntry中,使用AddressList属性访问地址列表。主机的所有地址原创 2020-06-21 22:15:46 · 1337 阅读 · 0 评论 -
C#-使用FileSystemWatcher类观察文件的更改
FileSystemWatcher类FileSystemWatcher类的主要功能:监控指定文件或目录的文件的创建、删除、改动、重命名等活动。可以动态地定义需要监控的文件类型及文件属性改动的类型。具体可以参考微软官方文档FileSystemWatcher Namespace:System.IOAssembly:System.dllListens to the file system change notifications and raises events when a directory转载 2020-06-03 23:50:32 · 573 阅读 · 0 评论 -
C#初步学习
最近买了一本《C#高级编程(第11版)》C#7 & .NET Core2.0,这本书足足有1000多页,当然微软的C#官方文档、MSDN也是不错的学习资料。C#是从C++、Java继承和发展而来的,新增了许多新的特性和功能,比如说元组、Lambda表达式、LINQ 查询等,而且对微软开发的SQLServer数据库能很好的配合使用。C# 文档《入门-C#指南.pdf》下载地址:入门-C#...原创 2020-04-18 15:49:37 · 297 阅读 · 0 评论 -
字节数组和short,int,float,double等类型的相互转换
一、在C++中从字节数组中获取short,int,long,float,double等数据在进行Modbus协议通信和网络编程时,有时需要将从串口或者网络中接收的数据从字节数组转换成对应的int,float,double等数据,有时还要考虑大小端字节序以及Swap的问题,发现在C++中需要自己写相关的转换函数,于是/写了一个函数,用于从输入的byte数组中获取指定类型的数据,目前支持int16,...原创 2020-03-16 23:53:40 · 4676 阅读 · 1 评论