草庐IT

.NET编程——利用C#实现TCP协议的异步通信Socket套接字(WinForm)

本文将介绍利用基于TCP通信协议的Socket实现服务器与客户端之间的数据传输。目录前言计算机通信创建服务器服务器通信创建客户端客户端通信前言    TCP/IP(TransmissionControlProtocol/InternetProtocol)是一种传输控制协议/网间协议,TCP属于传输层、IP属于网络层,而套接字(Socket)是应用层和传输层之间的一个抽象类,基于传输层暴露的接口进行应用层开发,例如连接Connect()、监听Listen()、发送Send()等等。    可见Socket与TCP/IP没有必然的联系,实际上Socket不仅限于支持TCP/IP还支持在HTTP、U

C#:WinForm应用程序中用鼠标移动控件位置

有时候在WinForm程序中,我们需要用鼠标移动程序窗口中的对象(例如图片对象等)的位置,可以通过定义控件的鼠标事件来实现。以命名为pictureBox1的PictureBox控件为例,分别定义它的MouseDown(按下鼠标按钮)、MouseMove(移动鼠标)、MouseUp(释放鼠标按钮)三个事件,代码如下://获取和设置控件是否随鼠标移动boolmoveFlag=false;//按下鼠标时鼠标的X和Y坐标intxPos,yPos;privatevoidpictureBox1_MouseDown(objectsender,MouseEventArgse){//当鼠标位于控件上并按下按钮时

c# 将WinForm项目打包成软件VS2019

第一步:下载扩展MicrosoftVisualStudioInstallerProjects1.扩展=>管理扩展然后关闭VS2019弹出一个安装,点完确认后弹出下图    再打开VS2019 看见勾,代表下载成功 第二步:右击解决方案=>添加=>新建项目   第三步:项目创建成功之后,添加文件1.右击ApplicationFolder(应用程序文件夹)=>Add=>文件2.把你需要打包的项目下=>bin=>Debug文件夹下的所有文件一个一个添加到ApplicationFolder(应用程序文件夹)中(注:全部添加) 第四步:添加卸载程序(C:\Windows\System32)msiexec

winforms - 使用嵌入式 sqlite 部署 winform 应用程序

我正在部署一个使用vs20080nXPsp3构建的winform应用程序。我创建了一个包含空模式的数据库,我将其放入项目的根文件夹中,并在属性中选择BuildAction:EmbeddedResources和Copyto输出目录:总是复制。现在,我没有在app.configconnectionString部分中使用connectionstring,而是在appSetting中添加了一个条目:key="database";value="mydb.db;版本=3”。所以为了创建我的connectionString我使用了:SQLiteConnectioncon=newSQLiteConne

winforms - 使用嵌入式 sqlite 部署 winform 应用程序

我正在部署一个使用vs20080nXPsp3构建的winform应用程序。我创建了一个包含空模式的数据库,我将其放入项目的根文件夹中,并在属性中选择BuildAction:EmbeddedResources和Copyto输出目录:总是复制。现在,我没有在app.configconnectionString部分中使用connectionstring,而是在appSetting中添加了一个条目:key="database";value="mydb.db;版本=3”。所以为了创建我的connectionString我使用了:SQLiteConnectioncon=newSQLiteConne

C# Winform 中使用 Webview2

前言目前的windows/Linux下的UI方案,以Qt为主,Flutter,Electron为辅,其他的各种UI都是不堪大用。众所周知,Electron的资源占用和内容占用太大,效率不行,所以有了后续各种跨语言的Web套壳方案:wallsgo语言下web套壳taruiRust下的web套壳除了使用CEF的Qt/C++/C#方案,Qt+WebEngine,目前在Windows下各家的最终归路都转向Webview2方案,可以极大地减少发布的程序的大小。备注:VS2019支持.NetFramework(~4.8),对于NetCore3和Net5支持并不是很完善,并且已过了维护期VS2022对Net

c# winform实现控件类型、数量的动态更新

c#winform窗体实现控件内容的动态更新在系统开发的过程中,往往会遇到需要动态的控制控件内部显示的控件数量、控件类型的情况,比如这样的。1、问题描述:如何自定义的控制控件中数据显示的类型呢?首先面对这个问题,我们得先了解winform的控制工具中有哪些控件是可以用来承载其他控件工具的,例如以下控件都可以用来承载其他控件工具,那么就可以使用这些控件来动态的实现工具栏的生成。此处采用一个panel控件进行演示。首先,我们添加一个winform窗体,然后往该窗体中拖入一个panel控件在这个窗体中我们插入一个comboBox控件,用于控制panel中生成工具栏的数量,此外每个工具栏中还将包括不同

C# Winform开发人脸识别小程序 (基于百度接口)

目录一、设计思路1、背景2、简介3、用到的技术4、设计功能一:用户注册功能概述功能示意图时序图功能二:人脸识别功能概述功能示意图时序图二、实现1、环境准备2、百度接口配置3、技术准备4、代码实现功能一:用户注册功能二:人脸识别5、补充一、设计思路1、背景家里面的小朋友(我弟)去参加学校组织的一个小比赛,配合他做了这个人脸识别的小程序,把设计思路和代码发在这里。2、简介本程序通过调用百度的人脸识别相关的云服务算法,最终实现“人脸注册”和“人脸识别欢迎语提示”这两个功能。3、用到的技术本程序的最终实现形式为Windows桌面程序,本程序主要采用微软的Winform模式进行开发,编程语言为C#。开发

C# Winform开发人脸识别小程序 (基于百度接口)

目录一、设计思路1、背景2、简介3、用到的技术4、设计功能一:用户注册功能概述功能示意图时序图功能二:人脸识别功能概述功能示意图时序图二、实现1、环境准备2、百度接口配置3、技术准备4、代码实现功能一:用户注册功能二:人脸识别5、补充一、设计思路1、背景家里面的小朋友(我弟)去参加学校组织的一个小比赛,配合他做了这个人脸识别的小程序,把设计思路和代码发在这里。2、简介本程序通过调用百度的人脸识别相关的云服务算法,最终实现“人脸注册”和“人脸识别欢迎语提示”这两个功能。3、用到的技术本程序的最终实现形式为Windows桌面程序,本程序主要采用微软的Winform模式进行开发,编程语言为C#。开发

WinForm(一) WinForm入门与基本控件使用

一.Winform入门        WinForm是WindowsForm的简称,是基于.NET Framework平台的客户端(PC软件)开发技术,一般使用 C# 编程。在VS2019中,C#WinForm编程需要创建「Windows窗体应用程序」项目。Windows窗体应用程序是C#语言中的一个重要应用,也是C#语言最常见的应用。使用C#语言编写的Windows应用程序与Windows操作系统的界面类似,每个界面都是由窗体构成的,并且能通过鼠标单击、键盘输入等操作完成相应的功能。WinForm支持可视化设计,简单易上手,并可以接入大量的第三方UI库或自定义控件,给桌面应用开发带来了无限可