[置顶]python知识导航贴,持续更新

[置顶]C# 语言高级特性知识导航贴,持续更新

[置顶]netMarketing类库: 类库说明

[置顶]本站视觉相关教程整理贴子,持续更新

[置顶]C++相关导航贴,持续更新

[置顶]本站收费服务公告(netMarketing源码,工业自动化行业培训班等)

[置顶]2020年勇哥的机器视觉实验项目清单(大纲)

[置顶]本站连载贴子系列,持续更新中……

[置顶]勇哥的免费视频教程清单

[置顶]勇哥在B站发布的视频清单

[置顶]运动控制专题,持续更新

基于visual c#.net的虚拟PLC仿真软件开发

多年前勇哥的一篇论文,关于plc仿真器的开发。有需要的朋友可以拿来参考一下。 中国石油大学(华东)现代远程教育毕业设计(论文) 题 目:基于visual c#.net的虚拟PLC仿真软件开发学生姓名: 刘小勇 学 号: 15316508001 摘 要 为了能够不依赖实际的硬件可编程控制器来实现基于可编程控制器的控制,研究和利用C#.net编程...

在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke

在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke解决办法:使用下面红框所示的卫语句即可。详细原理见下面贴子说明:http://www.skcircle.com/?id=1978 --------------------- 作者:hackpig来源:www.skcircle.com版权声明:本文为博主原创文章,转载请附上博文链接!...

HALCON error #5154: Wrong values for image area in operator get_window_extents

对于使用docking的童鞋来讲, 如果你的窗体中使用了halcon窗体控件, 就可能出现本文所示的错误.这个时候你应该是双击或者拖动了窗体标签吧?! 然后就会出现下面的错误.HALCON error #5154: Wrong values for image area in operator get_window_extents你只有两个选择: 要么找到你的包含halcon窗体控的窗体为啥会出现...

C# DataGridView控件中DataGridViewComboBoxColumn 怎么样使用下拉更改事件

勇哥注:这个问题勇哥在网上找了许久。假设A、B单元格都是下拉DataGridViewComboBoxColumn。我想A单元格选中一个内容,B单元格进行刷新列表。如果是DataGridView默认设置下,你会发现:CellEndEdit、CellClick、CellMouseDown、CellMouseUp这些都做不到完美的效果。最多是能做到点A后,然后点击一下B单元格,才能看到刷新效果。本文主题...

C# 让datagridview的DataGridviewComboBoxColumn即可以下拉,还可以输入内容

让datagridview的DataGridviewComboBoxColumn即可以下拉,还可以输入内容这个需求是有必要的。勇哥参考了一些网上的资料,证明winform还是可以实现此功能的。虽然操作上有点不太方便,比如输入内容后回车不能结束编辑,需要点内外的单元格结束编辑。但是好歹是实现的要求,而且不用重写一些方法。效果如下:演示代码: public partial class Form1 :...

勇哥谈下去除List的重复元素的问题

勇哥注:去除List的重复元素的问题是比较常见的需求,C#有标准的做法,以后不要自己写了。 public class Student { public string Name { get; private set; } public int Id { get; private set; } public string Hobby...

C# treeview控件的NodeMouseClick、Click事件的问题(单击后SelectedNode不是当前节点 ,有可能为null或者是上一次的节点)

这个问题浪费了勇哥一个小时的时间。即你在NodeMouseClick、Click事件中获取SelectedNode,有可能为null或者上一次的节点。希望实现点击TreeView控件下的不同子节点,显示其对应的内容。但发现在TreeView控件的MouseNodeClick事件中利用(TreeView)sender).SelectedNode.Name获得子节点的Name与实际点击的子节点并不一致...

C#的 IComparable 接口

勇哥注:IComparable 接口常用于排序。比如可以用于List<T>.Sort()方法,对T是自定义的类型的数据结构做排序。如果T是值类型,则有内建排序规则,不需要特殊处理。只是对T是你自定义的数据类型时,需要把这个数据类型继承IComparable 接口,然后实现接口(即自定义的排序规则代码)举个栗子:下面的数据结构StageDatastruct,已经继承的IComparabl...

C#的只读集合的创建、用途

勇哥注:我们知道C#的集合有两类普通集合泛型集合前者存在于 System.Collections 命名空间下,属类型不安全的,后者存在于 System.Collections.Generic 命名空间下,属类型安全的。不可变对象也就是本文说的只读对象, 定义为一旦创建就不可变更的对象, 在 .NET Core 中就存在着这三大不可变集合 IReadOnlyListIReadOnlyDictiona...

勇哥对 FlexCell for .Net 表格控件的演示

勇哥注:群里有人介绍到这个FlexCell表格控件,突然发现它在腾讯的软件中心中有。突然就升起了敬意。因此试用一把吧。另外vb.net 开发的控件,还能拿出来商业出售,由于大家都知道的原因,这着实让人有点惊讶,这让我对C#的商业软件开发有了点底气。FlexCell表格控件 for .NET是采用VB.NET开发的表格/报表控件。官方介绍如下:FlexCell是一款简单易用的表格控件,提供了非常全面...

C# 中常用接口(包括泛型接口)

1、 IComparable接口IComparable接口定义通用的比较方法。由类型使用的IComparable接口提供了一种比较多个对象的标准方式。如果一个类要实现与其它对象的比较,则必须实现IComparable接口。由可以排序的类型,例如值类型实现以创建适合排序等目的类型特定的比较方法。2、 IComparer接口是特定用于Array的Sort和BinarySearch方法,通过实现ICo...

勇哥的C#知识经验圈点:泛型

勇哥注:这个系列的贴子主要是为了培训用(专职自动化设备的C#软件工程师),因此例子的知识范围被限制在行业范围内。C#基础知识在网上是最多的存在,不足主要下面几点:1. 内容零碎,没有大纲来组织2. 什么功能都有讲,就是没有按实际项目的常用程度来组织3. PLC转上位机的人员,很难把PLC的编程思想转到C#编程上来,需要在知识点讲解上对此问题有点拔勇哥的这套贴子会有大纲,主要特点是补足以上几点问题,...

勇哥的C#知识经验圈点:Lambda 表达式

勇哥注:这个系列的贴子主要是为了培训用(专职自动化设备的C#软件工程师),因此例子的知识范围被限制在行业范围内。C#基础知识在网上是最多的存在,不足主要下面几点:1. 内容零碎,没有大纲来组织2. 什么功能都有讲,就是没有按实际项目的常用程度来组织3. PLC转上位机的人员,很难把PLC的编程思想转到C#编程上来,需要在知识点讲解上对此问题有点拔勇哥的这套贴子会有大纲,主要特点是补足以上几点问题,...

勇哥的C#知识经验圈点:事件

勇哥注:这个系列的贴子主要是为了培训用(专职自动化设备的C#软件工程师),因此例子的知识范围被限制在行业范围内。C#基础知识在网上是最多的存在,不足主要下面几点:1. 内容零碎,没有大纲来组织2. 什么功能都有讲,就是没有按实际项目的常用程度来组织3. PLC转上位机的人员,很难把PLC的编程思想转到C#编程上来,需要在知识点讲解上对此问题有点拔勇哥的这套贴子会有大纲,主要特点是补足以上几点问题,...

勇哥的C#知识经验圈点:委托

勇哥注:这个系列的贴子主要是为了培训用(专职自动化设备的C#软件工程师),因此例子的知识范围被限制在行业范围内。C#基础知识在网上是最多的存在,不足主要下面几点:1. 内容零碎,没有大纲来组织2. 什么功能都有讲,就是没有按实际项目的常用程度来组织3. PLC转上位机的人员,很难把PLC的编程思想转到C#编程上来,需要在知识点讲解上对此问题有点拔勇哥的这套贴子会有大纲,主要特点是补足以上几点问题,...

勇哥的C#知识经验圈点:索引器

勇哥注:这个系列的贴子主要是为了培训用(专职自动化设备的C#软件工程师),因此例子的知识范围被限制在行业范围内。C#基础知识在网上是最多的存在,不足主要下面几点:1. 内容零碎,没有大纲来组织2. 什么功能都有讲,就是没有按实际项目的常用程度来组织3. PLC转上位机的人员,很难把PLC的编程思想转到C#编程上来,需要在知识点讲解上对此问题有点拔勇哥的这套贴子会有大纲,主要特点是补足以上几点问题,...

windows下c#程序提高实时性

引言:勇哥手里的运控软件对实时性有了新要求。因为同设备上运行的其它视觉软件对cpu时间有变态的占用,压缩了运控软件的cpu占用时间。我们知道如果视觉软件卡一下,最多是处理时间长一点,但是运控软件卡一下,那就意味着撞机的问题,这个要严重得多。这个问题会持续把研究结果更新到本贴子。(一)提升线程和进程的优先级别ProcessPriorityClass等级说明public enum ProcessPri...

C# 控件闪烁问题的解决

勇哥说一下解决C#下控件闪烁的几个问题,如下: listview和datagridview显示数据闪烁 自定义控件的显示闪烁listbox滚动条拖动闪烁面板中控件过多的闪烁propertyGrid点击和修改项目缓慢的问题richtextbox控件的刷新显示问题此类问题对于界面复杂规模比较大的程序感觉更明显。另外勇哥的经验是你需要把程序拿到一个古董级别电脑上去复现上述问题及判断解决方案是否有效果。...

C#的propertygrid控件,选择和修改项目时很慢

C#的propertygrid控件是很强。可以实现类似Vitual Studio属性面板那样的效果。但是。。。。勇哥一直痛苦它在选择和修改项目的时候很慢。我的用法是使用控件的SelectObject来绑定数据。 PgridMotionSpeed.SelectedObject = null; PgridMotionSpeed.SelectedObject = InterSpeedConfigDa...

C# 当List.Find()返回一个结构体对象时,如何判断它为空?

请看演示程序。我们知道List.Find() 如果找到则返回这个对象,找不到返回这个类型的缺省值。下面例子中,你无法这样写: if(res1==null) { }因为结构体的缺少值不是null。演示程序:using System; using System.Collections.Generic; using System.Li...

C#的变迁史 - C# 4.0 之线程安全集合篇

 作为多线程和并行计算不得不考虑的问题就是临界资源的访问问题,解决临界资源的访问通常是加锁或者是使用信号量,这个大家应该很熟悉了。  而集合作为一种重要的临界资源,通用性更广,为了让大家更安全的使用它们,微软为我们带来了强大的并行集合:System.Collections.Concurrent里面的各位仁兄们。  首先,咱们从一个经典的问题谈起。生产者消费者问题  这个问题是最为经典的多线程应用问...

C#字符串与享元(Flyweight)模式

勇哥注:关注这个话题是因为看到C#的关键字 lock时,其传入引用对象。因为string也是引用对象,所以能否做为lock的参数?对于这个问题,要搞明白C#的字符串的一个特点,它使用类似于享元模式的机制。因此在lock中锁字符串是相当不安全的。下面贴子是对C#字符串与享元模式的深入讨论。写这个文章,主要是因为网上对C#字符串和享元模式的误解比较多。Flyweight模式先说这名字,fly呢,就是苍...

C# Modelbus crc16计算校验和程序

勇哥手里一个无刷电机,采用485的modelbus crc16协议来控制。因此需要一个计算校验和的工具。源码:using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; us...

C#中使用RegisterWindowMessage进行进程之间进行通讯

勇哥注:大家都知道在window里,进程之间通讯可以用消息通讯。但是有个较冷门的知识就是RegisterWindowMessage。一般的sendmessage和postmessage是需要在窗体程序间进行通讯,你得知道对方窗口的句柄。这个句柄每次启动程序时是系统分配的,每次不一样。有了这个RegisterWindowMessage,两个进程可以共同持有一个相同的“句柄”,然后两者的顶层窗体间可以...

C# tableLayoutPanel动态加载控件闪烁的解决方案

本文转载自k_set原创内容点击打开链接WinForm加载多个自定义控件时,会出现很严重的闪烁问题,很卡,一块一块的加载(像打开网页时,网络很卡的那种感觉)简直没法忍受。在网上搜索了好久,网上大部分的方法是一下4种,但是都不能有效的解决问题。  1.将DoubleBuffered 设置 true,用双缓存处理Form界面内容加载,可以提高页面显示质量。或者SetStyle(ControlStyle...

勇哥谈谈ObservableCollection观察者集合

勇哥注:事件很常见,但有重复的代码量。如果你想简化一下事件的编程,而且是整个程序只使用一个像事件池一样的东西,可以尝试使用下文讲的ObservableCollection观察者集合来做到。ObservableCollection<T>类表示一个动态数据集合,在添加项,移除项或刷新整个列表时,刺激和将提供通知通知可以由下面的枚举知晓你对集合做了什么才触发的事件。using System;...

C#测量程序运行时间及cpu使用时间

对一个服务器程序想统计每秒可以处理多少数据包,要如何做?答案是用处理数据包的总数,除以累记处理数据包用的时间。这里要指出的是, 运行一段程序,使用的cpu时间,跟实际运行的时间是不一样的。附例如下:private void ShowRunTime() { TimeSpan ts1 = Process.GetCurrentProcess().TotalProcessor...

计算代码执行时间,可以精确到十亿分之一秒

勇哥注:.Net的Stopwatch类可以精确到1/10000毫秒, 有没有更精确的计时吗?见下面的代码。暂时没试过效果,大家可以试下。计算某个代码片段的执行时间,精确到CPU执行一条指令所用的时间(十亿分之一秒),可用于精确计算某个算法的执行时间。代码:using System; using System.Runtime.InteropServices; using System.Compo...

C#:多进程开发,控制进程数量

正在c#程序优化时,如果多线程效果不佳的情况下,也会使用多进程的方案,如下:System.Threading.Tasks.Task task=System.Threading.Tasks.Task.Factory.StartNew( (object mystate) => {...

索引器(C# 编程指南)

勇哥注:大家好,我是微软的搬运工,今天搬一个忽略的知识点。索引器允许类或结构的实例就像数组一样进行索引。 无需显式指定类型或实例成员,即可设置或检索索引值。 索引器类似于属性,不同之处在于它们的访问器需要使用参数。以下示例定义了一个泛型类,其中包含用于赋值和检索值的简单 get 和 set 访问器方法。 Program 类创建了此类的一个实例,用于存储字符串。using System; cl...
会员中心
搜索
«    2024年4月    »
1234567
891011121314
15161718192021
22232425262728
2930
网站分类
标签列表
最新留言
    热门文章 | 热评文章 | 随机文章
文章归档
友情链接
  • 订阅本站的 RSS 2.0 新闻聚合
  • 扫描加本站机器视觉QQ群,验证答案为:halcon勇哥的机器视觉
  • 点击查阅微信群二维码
  • 扫描加勇哥的非标自动化群,验证答案:C#/C++/VB勇哥的非标自动化群
  • 扫描加站长微信:站长微信:abc496103864
  • 扫描加站长QQ:
  • 扫描赞赏本站:
  • 留言板:

Powered By Z-BlogPHP 1.7.2

Copyright Your skcircle.com Rights Reserved.

鄂ICP备18008319号


站长QQ:496103864 微信:abc496103864