
C#
机器人自动化控制
这个作者很懒,什么都没留下…
展开
-
dataGridView
在Form1窗体中,鼠标单击DataGridView的某一行,弹出Form2窗体,显示该行的所有内容。原创 2023-03-01 17:09:40 · 333 阅读 · 0 评论 -
Modbus历史
文章类型:*发Modbus协议的诞生时间:1979年;Modbus协议的诞生的原因:为了解决PLC控制器之间通信的问题。(世界上第一台PLC诞生于1969年)Modbus协议的诞生的归属:Mod, Modicon(莫迪康)的简写,之后被施耐德收购。原创 2023-01-13 12:26:11 · 1101 阅读 · 0 评论 -
C# 使用StopWatch测量程序运行时间
Stopwatch 实例可以测量⼀个时间间隔的运⾏时间,也可以测量多个时间间隔的总运⾏时间。在典型的 Stopwatch ⽅案中,先调⽤ Start ()⽅法,然后调⽤ Stop() ⽅法,最后使⽤ Elapsed 属性检查运⾏时间。...原创 2022-07-03 12:04:03 · 1046 阅读 · 0 评论 -
C# 中this关键字的作用
当我们想实现通过调用方法去修改name的值,以下代码中的方法是有问题的。首先在以下代码中,我们会发现有2个“name”,那么代码中“name = name”都是指哪个name?当字段和变量名同名的时候,就近原则,所以说“name = name”都是指的是变量name,而不是字段name。private string name;public void SetName(string name){ name = name;}若想实现我们的目标,只需添加一个关键字“this”,this调原创 2022-05-23 15:40:02 · 1791 阅读 · 0 评论 -
C# 数组、ArrayList、List
1. list由来在C#中,数组、ArrayList、List都能够存储一组对象。1.1 数组最早出现 在内存中连续存储,索引速度快 插入、删除元素效率低 声明时必须指定类型和大小、1.2 ArrayListArrayList是.NET Framework提供的用于数据存储和检索的专用类。优点:可根据存储的数据来动态调整大小,无需指定数组的长度 插入、删除元素效率更高 可以插入不同类型的数据(统一转换成object类型) object是C#中所有类型的基类,如:缺点:原创 2022-05-20 15:22:01 · 831 阅读 · 0 评论 -
C# 三元运算符
C#包含一个运算符 ? :,称为条件运算符 或 三元运算符。它是 if-else 条件的缩写。原创 2022-05-17 13:23:20 · 7021 阅读 · 0 评论 -
C#类的成员之Field(字段)
字段(field)是类中最常见的成员之一。字段是在类或结构中直接声明的任意类型的变量,C#支持静态字段(类型字段)和实例字段。对于实例字段,其内存在创建实例时动态分配,而对于静态字段,其内存在类型对象创建时分配。...原创 2022-05-14 15:40:24 · 2114 阅读 · 0 评论 -
C# if else语句
if...else if...else 语句一个 if 语句后可跟一个可选的 else if...else 语句,这可用于测试多种条件。当使用 if...else if...else 语句时,以下几点需要注意:一个 if 后可跟零个或一个 else,它必须在任何一个 else if 之后。 一个 if 后可跟零个或多个 else if,它们必须在 else 之前。 一旦某个 else if 匹配成功,其他的 else if 或 else 将不会被测试。...原创 2022-04-13 20:03:29 · 3354 阅读 · 0 评论 -
C# 数据类型转换
隐式类型转换我们要求等号两边参与运算的操作数的类型必须一致,如果不一致,满足下列条件会发生自动类型转换,或者称之为隐式类型转换。隐式类型转换:这些转换是 C# 默认的以安全方式进行的转换, 不会导致数据丢失。隐式数值转换实际上就是从低精度的数值类型到高精度的数值类型的转换。例如,从小的整数类型转换为大的整数类型,从派生类转换为基类。常用的隐式数值转换包括以下几种:1. 从 int 类型到 long,float,double,或 decimal 类型;2.从 float 类型到 doub.原创 2022-04-09 16:43:41 · 1173 阅读 · 0 评论 -
C# winform实现文件夹中图片的监控并实时显示更新
实现功能实时监控某固定文件夹下图片的变化,并在Form窗体中实时显示最新的图片。实现代码关键点讲解原创 2022-03-31 08:50:19 · 2890 阅读 · 0 评论 -
C# 获取指定文件夹下指定类型的最新修改时间的文件
在之前的讲解的C# 获取指定文件夹下指定类型的文件基础上,增加了获取最新修改时间的文件索引的方法,具体代码如下所示。using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.IO;using System.Linq;using System.Text;using System.Threading原创 2022-03-18 12:53:51 · 4602 阅读 · 2 评论 -
C# 获取指定文件夹下指定类型的文件
接下来主要介绍C#读取目录下所有指定类型文件的方法,可实现读取目录下特定后缀名文件的功能。本例是获取指定文件夹下的格式为“jpeg”的图片。using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.IO;using System.Linq;using System.Text;using Sy原创 2022-03-17 22:27:34 · 6576 阅读 · 1 评论 -
visual studio调试报警 Lc.exe已退出 代码为-1的解决方案
该报警一般是因为加入了第三方的插件程序造成的。解决办法如下操作所示:光标选中项目名称,单击鼠标右键选择【在文件资源管理器中打开文件夹】找到Properties文件夹licenses.licx文件,然后右键选择删除。在Properties文件夹下新建一个空的txt文档并重新命名为为licenses.licx,单击右键,将“licenses.licx.txt”中的“.txt”删除,并点击【确定】。licenses.licx的文件类型变为licx,再次运行程序报警解...原创 2022-03-03 22:00:37 · 3266 阅读 · 0 评论 -
VisualStudio代码片段管理器
代码片段管理器介绍若平时工作或学习中有某个经常会用到的代码片段,我们可以将其添加到代码片段管理器中,以提升写代‘’码的效率下图为 “for”的代码片段自定义代码片段打开计算机资源管理器,跳转至对应位置“C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC#\Snippets\2052\Visual C#”,任意复制一个后缀为.snippet的文件到任意位置,更改文件名(文件名最好是之后的快捷键),.原创 2021-10-08 23:11:08 · 1091 阅读 · 3 评论 -
C# 类创建dll文件
首先,新建一个类库(.NET Framework)项目;输入项目名称“FILEsINI”,并点击【创建】;注意,与我们在桌面应用程序中的类文件不同,此处 public class Class1多了public修饰符。using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace FILEsINI..原创 2021-07-09 11:05:41 · 1773 阅读 · 0 评论 -
C# 读写共享文件夹中的文件
本例以读写INI配置文件为例进行说明。在同一局域网内的一台电脑上创建一个共享文件夹,服务器ip地址是192.200.3.10,共享文件夹名字是5656,INI配置文件名为publish;访问权限,用户名是PC,密码是12345678。主程序代码:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Diagnostics;usin原创 2021-07-08 16:45:34 · 2321 阅读 · 1 评论 -
事件的原理及应用:主窗体向多个子窗体发送信息
定义:事件是对象再外界“刺激”下发生的事情,而对外界提供的一种信息机制。事件的两个参与者:发送者(Sender):即对象本身,当本身的状态变化时,触发事件,并通知事件接受者;接受者(Receiver):用来处理事件,再事件发送者触发的个事件后,会自动执行的内容。主窗体代码:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System原创 2021-07-03 15:25:45 · 269 阅读 · 0 评论 -
C# 读写编辑INI文件
INI文件概念INI就是扩展名为"INI"的文件,其实他本身是个文本文件,可以用记事本打开,主要存放的是用户所做的选择或系统的各种参数。C#读写ini文件其实并不是普通的文本文件.它有自己的结构.由若干段落(SECTION)组成,在每个带括号的标题下面,是若干个以单个单词开头的关键字(KEYWORD)和一个等号,等号右边就是关键字的值(VALUE),例如,[Section1] KeyWord1 = Value1 KeyWord2 = Value2 ......原创 2021-06-22 15:27:58 · 1106 阅读 · 2 评论 -
Socket实现TCP服务器创建
代码:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Net;using System.Net.Sockets;using System.Text;using System.Threading;using System.Threading....原创 2021-06-12 12:35:20 · 395 阅读 · 1 评论 -
委托应用:子窗体向主窗体发送信息
功能实现:当子窗口中文本内容变化时,主窗体显示内容随之改变。主窗体代码:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Fo..原创 2021-06-01 23:49:39 · 191 阅读 · 0 评论 -
委托的基本使用
了解委托(delegate)委托是一种全新的面向对象语言特性,运行在.NET平台。基于委托,开发事件驱动程序变得非常简单。使用委托可以大大简化多线程编程难点。委托也可以看作一种数据类型,可以定义变量,但是它是一种特殊的变量。委托定义的变量能接受的数值只能是一个方法(函数),可以理解成委托就是方法的指针。委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋给参数的做法,可以避免在程序中大量使用If … Else(Switch)语句,同时使得原创 2021-05-30 16:45:01 · 475 阅读 · 0 评论 -
窗体切换读取摄像头
功能概述:通过点击主窗体中的按钮“Form2”和“Form3”,实现主窗体中子窗体2和子窗体3的切换显示;同时,子窗体打开摄像头并在当前窗口显示视频。界面:主窗体代码:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text.原创 2021-05-25 23:54:23 · 300 阅读 · 0 评论 -
C# 主窗体的控件中嵌入用户窗体
实现功能:同过按钮【界面1切换】和【界面2切换】实现panel1中的界面1和界面2的切换.代码:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using S..原创 2021-04-27 17:31:21 · 861 阅读 · 0 评论 -
C# 枚举(Enum)
枚举简介枚举的英文名称 enumeration,简写enum。说白了就是一个数据类型,也是用来存储数据的。和之前学过的int,float,double,string等一样,只不过它们时预先设定好的,我们可以直接使用。而枚举类型是需要我们使用者根据自己的需求去自定义开发的。何时需要使用枚举?比如说在一些团队的项目中,我们需要频繁的使用“星期一”到“星期日”这样特定的字符串,我们就可以定义一个星期的枚举。此处若不定义成枚举类型,则团队中的每一个人对同一个意思有不同的表达方式,比如说“星期一”原创 2021-04-24 17:13:28 · 1159 阅读 · 0 评论 -
C# ErrorProvider组件应用
ErrorProvider组件可以对窗体或控件的用户输入进行验证,当验证用户在窗体的输入或显示数据集内的错误时,一般要用到该控件。相对于在消息框中显示错误信息,ErrorProvider组件也是一个选择。ErrorProvider组件在相关控件,例如textbox旁边显示一个错误的图标,当用户鼠标指针放在该错误图标上时,将出现错误信息的工具提示。二、技术要点1、BlinkStyle属性。此属性获取或设置一个值,该值指示错误图标闪烁时间。该属性有如下三个选项:AlwaysBlink:当错.原创 2021-04-18 14:42:20 · 980 阅读 · 0 评论 -
C# namespace 命名空间名称修改
如下图所示的项目,当我们更改namespace从“ErrorProvide”到“ErrorProvide1”之后,会出现很多报错。解决办法:鼠标左键单击namespace后面的名称,单击右键选择【重命名】,此时会在当前窗口的右上角跳出一个“重命名”对话框。依次勾选【包括备注】、【包括字符串】和【预览更改】,选择【应用】确认即可。...原创 2021-04-18 11:25:51 · 10540 阅读 · 1 评论 -
详解C#中IndexOf的使用2
语法:IndexOf(String value);功能:报告指定字符串在此实例中的第一个匹配项的从零开始的索引。参数:value 要搜寻的字符串。返回值:如果找到该字符串,则为 value 的从零开始的索引位置;如果未找到该字符串,则为 -1。 如果 value 为 System.String.Empty,则返回值为0。...原创 2021-04-08 18:59:39 · 2070 阅读 · 0 评论 -
详解C#中IndexOf的使用1
语法:IndexOf(String value);功能:报告指定字符串在此实例中的第一个匹配项的从零开始的索引。参数:value 要搜寻的字符串。返回值:如果找到该字符串,则为 value 的从零开始的索引位置;如果未找到该字符串,则为 -1。 如果 value 为 System.String.Empty,则返回值为0。语法:IndexOf(char value);功能:报告指定 Unicode 字符在此字符串中的第一个匹配项的从零开始的索引。参数:要查找的 Unicode 字符.原创 2021-04-07 19:57:36 · 4215 阅读 · 0 评论 -
C# 批量更改文件或图片名称
C# 批量更改文件或图片名称原创 2021-01-18 23:15:42 · 2259 阅读 · 0 评论 -
C# 截屏软件
当鼠标的光标在窗口内时,单击鼠标的左键或右键,即可实现截屏功能。截屏成功后,会自动弹出确认对话框,可即刻关闭,也可等待3秒自动关闭。using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;原创 2021-01-10 22:10:52 · 691 阅读 · 0 评论 -
C#入门第一讲:编写第一个C#程序及命名空间介绍
1、新建一个控制台应用程序。选择【文件】➡【新建】➡【项目】,弹出新建项目对话框,选择【控制台应用(.NET Framework)】,填写程序名称,选择程序存储位置,选择【确定】。2、在自动生成的 Main方法里添加如下指令:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace firstprog原创 2020-12-17 21:20:45 · 657 阅读 · 0 评论 -
C#实现与200 Smart PLC之间的串口通信(一)
C#实现与200 Smart PLC之间的串口通信原创 2020-03-22 21:21:14 · 3524 阅读 · 0 评论 -
C#自带打包程序Installer-Project使用
1.如果没有Visual Studio Installer 说明没有安装打包插件安装打包插件:Microsoft Visual Studio 2017 Installer Projects【工具】 --> 【扩展和更新】 --> 【联机】,搜索Microsoft Visual Studio 2017 Installer Projects下载并安装,安装好以后,重启vs20172…鼠标选中“解决方案”,【添加】→【新建项目】,弹出“添加新项目”对话框,如下图所示。3.选择【Visual原创 2020-05-13 22:56:30 · 5254 阅读 · 1 评论 -
限制textbox控件输入数据的类型及范围
1.限制textbox输入的数据类型只能是数字,不能是字母或其它符号。添加textbox的KeyPress事件(在控件具有焦点并且用户按下并释放某个按键后发生)如下所示:private void edges_sub_pix_Alpha_KeyPress(object sender, KeyPressEventArgs e){ if (!(Char.IsNumber(e.KeyChar)...原创 2020-04-30 14:14:55 · 6756 阅读 · 0 评论 -
VS2017调用halcon的时候出现试图加载格式不正确的程序:this.hWindowControl1 = new HalconDotNet.HWindowControl();
解决办法:将平台目标修改为“X64”或“ANY CPU”,同时取消勾选“首选32位”,如下图所示:原创 2020-04-28 22:02:31 · 4880 阅读 · 3 评论 -
NPOI读取EXCEL
NPOI读取EXCEL原创 2020-03-30 14:16:43 · 643 阅读 · 0 评论 -
NPOI写入到EXCEL
NPOI写入到EXCEL原创 2020-03-29 22:58:56 · 459 阅读 · 0 评论 -
10制转换成16进制
代码实现如下:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;us...原创 2020-03-07 22:11:21 · 978 阅读 · 0 评论 -
数据类型和变量的定义(一)
数据类型和变量的定义(一)原创 2020-02-20 22:53:15 · 553 阅读 · 0 评论 -
C#提取指定文件夹目录
FolderBrowserDialog组件可以选中和浏览文件夹,当要得到某个文件夹的额所有文件名并复制到其他文本中时,可以用FolderBrowserDialog组件让用户选择将要复制文件名的文件夹,Directory类的静态方法GetFiles就可以获得目录下的所有文件名不包括子文件夹,然后加入TextBox控件中,这样就可以进行复制粘贴操作了。一 技术要点将textbox控件的Mult...原创 2020-02-16 00:00:07 · 1805 阅读 · 0 评论