
C#-集合
youyiyang
这个作者很懒,什么都没留下…
展开
-
怎么保存图片到硬盘上?
在项目里需要在页面中增加一个按钮,然后通过它打开硬盘上的图片,并且保存到相应的目录中。这样,我就建了一个Form,如图所示:可以看到它有2个Button, 分别是用来打开目录里的图片文件,然后保存到相应的目录中。另外,我也从控件中拖入了openFileDialog和saveFileDialog这2个控件,其中主要用到了openFileDialog1,saveFileDialog1作为保留。在当中是一个pictureBox控件,它的SizeMode属性设为Zoom,也就是自动适配原图。由于需要在调用原创 2022-04-28 14:02:03 · 991 阅读 · 0 评论 -
怎么在Visual Studio 2019 Professional版增加单元测试
在项目右键增加项目,选MSTest项目就可以了。using Microsoft.VisualStudio.TestTools.UnitTesting;using System;using System.Diagnostics;using Hanli.Driver;namespace TestProject1{ [TestClass] public class UnitTest1 { [TestMethod] p..原创 2021-11-24 21:03:49 · 827 阅读 · 0 评论 -
怎么在Winform增加右键菜单
在Visual Studio2019的winform上,从左边的工具栏中拖动contextMenuStrip控件到需要绑定的winform中编辑contextMenuStrip的属性在Form属性处绑定该右键菜单控件就可以了。原创 2021-11-02 15:45:29 · 1230 阅读 · 0 评论 -
添加一个自定义控件CheckBoxEx来替换原来的Checkbox
在Visual Studio 2019的C#项目中,需要添加一个自定义控件CheckboxEx其中CheckBoxEx.cs的代码如下“:using System;using System.Collections.Generic;using System.Drawing;using System.Drawing.Drawing2D;using System.Linq;using System.Text;using System.Threading.Tasks;using Syst原创 2021-10-21 09:29:33 · 233 阅读 · 0 评论 -
C# 工程 SDK的实现
在我们的一个项目中,需要用C#实现一个SDK,以便于以后调用这个SDK来对机器人进行操控。首先这个SDK是继承了base. base是abstract抽象类,大致如下所示: public abstract class Base { public abstract void Start(Dictionary<string, Object> cfg); public abstract bool IsOnline(); public原创 2021-10-19 09:44:30 · 1732 阅读 · 0 评论 -
2021-10-18 Basler相机曝光值SDK的设置
由于我们的一个项目需要用到将Basler相机的曝光值进行设置,所以今天我用C#将Basler的曝光值的SDK引用了一下。先百度了一个网上的Basler SDK的例子,代码如下:using System;using System.Collections.Generic;using System.Linq;using System.Text;using HalconDotNet;using Basler.Pylon;using System.Runtime.InteropServices;us原创 2021-10-18 17:15:54 · 2395 阅读 · 0 评论 -
C#的串口通讯
在同样的这个项目里,我们用C#对上位机进行串口通讯。这部分的代码并且进行了封装,以便于以后的调用。项目结构如图所示:是SerialHelper目录下的SerialUnit.cs然后就直接上代码吧:using System;using System.IO.Ports;using Common;namespace SerialHelper{ // 串口通讯单元 public class SerialUnit { private static SerialUnit原创 2021-08-10 16:31:57 · 1380 阅读 · 0 评论 -
采用json文件来序列化和反序列化
在同样的项目中,采用了json文件来序列化和反序列化重要的参数。下图是程序的结构,可以看到序列化和反序列化在Common\ProgramParam.cs中 public class ProgramParam { public string VisionInterfaceName; // 视觉接口名 public string VisionDeviceName; // 视觉设备名 public string VisionCameraType;原创 2021-08-05 10:12:12 · 248 阅读 · 0 评论 -
用Winform MVC 处理Halcon机器视觉的一个例子
公司的业务是机器人的系统集成,需要在halcon机器视觉软件处理后,用winform与上位机进行串口的通讯。这次winform采用了MVC的架构。原来我一直以为MVC都是用在ASP.NET上的,这次看到它在Winform上也能大展身手。下图是框架结构图:可以看到有Controller, Model和Viewer文件夹。但是Model文件夹是空的,也就是说这次没有使用Model文件。先看Controller文件夹,里面是MainController.cs它是主业务逻辑: // 主业务逻辑原创 2021-08-04 11:12:07 · 816 阅读 · 0 评论 -
队列在一个halcon项目中的使用
公司用halcon机器视觉技术在外地有一个项目,就是找到集装箱地板上的钉子的坐标,然后在这个坐标上用油封住这个钉子。一,这个项目的框架早就搭建好了,框架采用了生产者 / 消费者模式。在原来的代码Test()函数中,// 测试private void Test(HImage image){ _halcon.Find_Nail(image, 0, 0, 1800, 1800, 180, 5000, 15000, 7.5, out HTuple width, out HTuple height);原创 2021-08-03 13:13:23 · 388 阅读 · 0 评论 -
2021-08-03 C#窗体开发 子线程访问UI主线程,并且修改UI上的控件显示
在工作中碰到了,在.Net C#窗体开发中怎么创建多线程(子线程),并且从子线程访问UI主线程,修改UI上的控件显示,我在此记录一下。在对我们公司购买的线性激光仪器进行测试的过程中,原来的测试软件能够很好的对仪器进行各种数值的测试,最后能在屏幕上显示出来。但是领导要求我修改原代码使之能够同时进行6个测试。我马上想到了开6个线程。在经过对原代码的阅读后,我看到原来代码是在点击“开始”按钮后,启动一个子线程进行测试的:private void buttonStart_Click(object sender,原创 2021-08-03 11:06:49 · 957 阅读 · 0 评论 -
C#的ConsoleKeyInfo
例子一: // This example displays output similar to the following: // Press any combination of CTL, ALT, and SHIFT, and a console key. // Press the Escape (Esc) key to quit: // // a转载 2015-11-11 22:36:22 · 6023 阅读 · 1 评论 -
asp.net WebForm程序删除.designer.cs文件之后的故事
1.介绍正常情况下添加一个WebForm程序结构如下(命名为:myWebForm.aspx)文件说明:.aspx文件:书写html代码部分,以及javascript,css等代码书写及引用 .aspx.cs文件:服务器端,使用C#代码处理客户端发过来的请求,做出相应的响应 .aspx.designer.cs文件转载 2015-09-10 15:51:28 · 2863 阅读 · 0 评论 -
C#的ArrayList
ArrayList类是一个特殊的数组。它来自于System.Collections命名空间;通过添加和删除元素,就可以动态改变数组的长度。一、优点1)支持自动改变大小的功能2)可以灵活的插入元素3)可以灵活的删除元素二、局限性跟一般的数组比起来,速度上差些。因为它是动态数组,初始化大小容量4,当数据存满时扩容是以当前数组容量大小的2倍扩容,之后再把数组元素一个一个的转载 2015-09-05 19:36:17 · 817 阅读 · 0 评论 -
欢迎使用优快云-markdown编辑器
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl转载 2015-06-23 15:43:32 · 521 阅读 · 0 评论 -
C# 集合
C#集合先来了解下集合的基本信息1、BCL中集合类型分为泛型集合与非泛型集合。2、非泛型集合的类和接口位于System.Collections命名空间。3、泛型集合的类和接口位于System.Collections.Generic命名空间。 ICollection接口是System.Collections命名空间中非泛型集合类的基接口,它继承自IEnumerable接转载 2015-06-23 15:46:27 · 528 阅读 · 0 评论