少有人走的路

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

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

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

勇哥的免费视频教程清单

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

Task.Factory.StartNew为啥同一次添加10几个线程,超过8个后面添加的线程变开始变慢


勇哥描述一下:

如下面代码,当循环Task.Factory.StartNew到第9个的时候,会发现要隔约1秒才可以添加第9个,后面的第10,11,12,13,14 都要间格较长时间。

如果你把下面代码中的while死循环去掉,则15个线程瞬间添加完成。

这是什么原因呢?

 for (int i = 0; i < 15; i++)
            {
                var t1 = Task.Factory.StartNew(fun);
                taskList.Add(t1);
            }
            
 
        private void fun()
        {
            OutMsg($"id={Thread.CurrentThread.ManagedThreadId}, 启动时间:{DateTime.Now.ToString("hh:mm:ss:ms")}\n");
            Stopwatch sw1 = new Stopwatch();
            sw1.Start();
            while (true)
            {
               
                Thread.Sleep(5);
                if (sw1.ElapsedMilliseconds > 4000)
                {
                    sw1.Stop();
                    OutMsg($"id={Thread.CurrentThread.ManagedThreadId}, 退出时间:{DateTime.Now.ToString("hh:mm:ss:ms")}\n");
                    break;
                }
            }
        }

VS团队资源管理器无法同步,错误为:无法拉取,因为本地和远程分支已更改


勇哥今天用vs团队资源管理器“同步”时出现一个不一样的错误。


错误如下:


image.png


vs的输出窗口报告的完整信息如下:

固定相机拍照,机器人定位取料的原理解释

如图1。我们假设矩形就是电池。则这个电池是作为模板电池,其摆放的位置、机器人吸嘴过来取的位置都是做为模板位置。B1是模板特征点。本例子我们以电池左边与顶边的相交点做为特征点,且以顶线做为特征点的U。                             (图1)图2中,电池故意旋转一定角度放置。此时的B2点为当前电池的特征点。此时当前电池的特征点

人这一辈子最重要的是什么?

三岁那年,我紧握着手中的棒棒糖,坚定的认为那最重要


五岁那年,我花了整整一个下午逮住那只蜻蜓,那一刻,它好像是

最重要的


七岁那年,我看着同桌手中的奖状,带着羡慕和一点点嫉妒,觉得那也许是最重要的。


九岁那年,仰躺在树荫下,阳光斑驳的洒在脸上,一个悠闲的暑假于我而言是如此重要


十三岁那年,我意识到,重点高中的录取通知书对我的人生很重要

C# GDI绘制控件,基类控件(1)

 勇哥注:

所谓的基类控件,就是不从其它控件继承的,而是继承UserControl的控件。


控件外观如下:

image.png

C# winform窗口打开设计器的等待时间超长是什么原因?

勇哥注:


C#  在解决方案管理器中双击winform,打开设计器的等待时间超长。。。

有时候甚至要等十几分钟这么夸张。。。


image.png


另外,如果你使用vs2022打开相同的工程,发现打开winfom的速度就变得飞快了!

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

勇哥注:

这个问题勇哥在网上找了许久。

假设A、B单元格都是下拉DataGridViewComboBoxColumn。

我想A单元格选中一个内容,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类,可以设置按钮的显示相关的属性,以及事件等。

<< < 48 49 50 51 52 53 54 55 56 57 > >>
«    2025年12月    »
1234567
891011121314
15161718192021
22232425262728
293031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
文章归档
网站收藏
友情链接

Powered By Z-BlogPHP 1.7.3

Copyright www.skcircle.com Rights Reserved.

鄂ICP备18008319号


站长QQ:496103864 微信:abc496103864