少有人走的路

勇哥的工业自动化技术网站

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

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

勇哥的免费视频教程清单

勇哥在B站发布的视频清单

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


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

这个需求是有必要的。

勇哥参考了一些网上的资料,证明winform还是可以实现此功能的。

虽然操作上有点不太方便,比如输入内容后回车不能结束编辑,需要点内外的单元格结束编辑。

但是好歹是实现的要求,而且不用重写一些方法。


效果如下:

image.png

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

勇哥注:

去除List的重复元素的问题是比较常见的需求,C#有标准的做法,以后不要自己写了。


    public class Student
    {
        public string Name { get; private set; }
        public int Id { get; private set; }
        public string Hobby { get; private set; }
        public Student(string name, int id, string hobby)
        {
            this.Name = name;
            this.Id = id;
            this.Hobby = hobby;
        }
        /// <summary>
        /// 方便输出,重写ToString方法
        /// </summary>
        /// <returns></returns>
        public override string ToString()
        {
            return string.Format("{0}\t{1}\t{2}", this.Name, this.Id, this.Hobby);
        }
    }

    public class Compare : IEqualityComparer<Student>
    {
        public bool Equals(Student x, Student y)
        {
            return x.Id == y.Id;//可以自定义去重规则,此处将Id相同的就作为重复记录,不管学生的爱好是什么
        }
        public int GetHashCode(Student obj)
        {
            return obj.Id.GetHashCode();
        }
    }

勇哥的C#版继承Treeview的带按钮的树形控件(带源码)

勇哥注:

此控件是继承TreeView控件重写的用户组件,主要特点是可以在节点文本右边添加按钮。

按钮本身就是一个Button类,可以设置按钮的显示相关的属性,以及事件等。

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

这个问题浪费了勇哥一个小时的时间。

即你在NodeMouseClick、Click事件中获取SelectedNode,有可能为null或者上一次的节点。


希望实现点击TreeView控件下的不同子节点,显示其对应的内容。

vs团队管理器git功能中的“比较文件”如何修改差异呢?


vs团队管理器的git功能中,当本地文件和远程文件有差异的时候。

我们可以选择“比较文件”

image.png

C#的 IComparable 接口

勇哥注:

IComparable 接口常用于排序。

比如可以用于List<T>.Sort()方法,对T是自定义的类型的数据结构做排序。

如果T是值类型,则有内建排序规则,不需要特殊处理。

勇哥谈谈反射的优化技术

这篇文章是关于.Net的反射优化(有效率地使用反射)的技术。


文中有翻译不准确、难以理解的内容可在评论出指点或咨询。


概述

反射(Reflection)是一种非常强大的.Net平台的特性。System.Reflection命名空间下提供了一套丰富的加载和调用程序集和对象的接口,除此之外它还提供了 了运行时动态地检索元数据信息的方法,比如获取属性、字段信息,特性信息等。


使用反射确实可以使开发人员的生活变得轻松,但是应该尽可能少地使用它,换句话说,只在必需的情况下使用它。它在很大程度上影响了程序的性能。以下是几种提升反射效率的方法。

【Halcon】2D测量

2D测量之一通过2D测量可以获取一些特征,如• 物体的范围,也就是说组成物体的像素数组• 物体的方向• 物体间或者物体组成部分间的角度• 物体的位置• 物体的尺寸 ,也就是说他的宽度高度或者物体间的距离,物体组成部分间的距离• 物体的个数分析measure_metal_part_first_example.hdev例程第一步:创建区域并提取基础信息• 通过threshold算子提取感兴趣的区域• 通过area_center 和 orientation_region算子得到区域的位置和方向第二步:

明明安装有git,为啥VS的团队管理器提示说需要安装第三方git命令

明明安装有git,为啥VS的团队管理器提示说需要安装第三方git命令,如下图所示:


image.png

如果点击安装,vs打开了浏览器,跳到了git的下载页。

image.png

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

勇哥注:

我们知道C#的集合有两类

    << 1 >>
    «    2023年3月    »
    12345
    6789101112
    13141516171819
    20212223242526
    2728293031
    控制面板
    您好,欢迎到访网站!
      查看权限
    网站分类
    搜索
    最新留言
    文章归档
    网站收藏
    友情链接

    Powered By Z-BlogPHP 1.7.3

    Copyright www.skcircle.com Rights Reserved.

    鄂ICP备18008319号


    站长QQ:496103864 微信:abc496103864