
C#
文章平均质量分 55
孙姬被刘备家暴
这个作者很懒,什么都没留下…
展开
-
C# Windowsform控件picturebox只显示一部分图片,只显示左上角一部分图片
在使用Windowsform时免不了要使用的PictureBox的这个控件,这个控件是用来显示图片到界面上的,有时候我们会发现,尽管控件显示了图片,但是似乎只显示了一部分而已,更具体地说,只是显示了图片左上角和图片框的交集大小的区域,这是什么问题?Image img = Image.FromFile(@"F:/研究所/镜头贴膜自动机/pic.png");//双引号里是图片的路径pictur...原创 2018-08-27 17:38:54 · 4818 阅读 · 4 评论 -
PSO算法在C#中的实现
PSO算法在C#中的实现,代码如下:using System;namespace PSO_algorithm{ class Program { //粒子群算法容易陷入局部最优,算法容易出现早熟的情况 ////////////////////////// // // ...原创 2018-09-29 14:57:50 · 2113 阅读 · 3 评论 -
C#中生成0至1之间的随机小数
Random rand = new Random(Guid.NewGuid().GetHashCode());double t=rand.NextDouble();原创 2018-09-29 15:10:13 · 7598 阅读 · 0 评论 -
c#多线程数据共享解决办法之一:lock排它锁
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading;namespace 多线程数据共享{ class Program { static bool lockOrNot; static...原创 2018-12-24 11:07:06 · 1657 阅读 · 0 评论 -
有关控件的InvokeRequired属性判断解读,比如label1.InvokeRequired
经常会遇到跨线程访问的情况,很多人就说要用到委托;比如在辅助线程中要去更新一个UI界面上的label控件,通常会有一个if else判断语句:if (label1.InvokeRequired)这句是在判断label1控件是否是调用线程创建的,即判断是否跨线程调用,是则返回true,否则返回false;注意,这里判断的是调用线程是否是创建该控件的线程,因为调用线程是用户自己新建的一个辅助...原创 2018-12-25 10:29:05 · 2454 阅读 · 0 评论 -
有关线程与线程池
http://www.cnblogs.com/wwj1992/p/5976096.html转载 2018-12-25 11:24:31 · 253 阅读 · 0 评论 -
康耐视视觉库编程参考(1)Cognex.VisionPro.ToolGroup Namespace
最近在和康耐视的视觉软件和相机打交道,但是网上搜到的资料不多,教程也比较少,于是想到了软件自带的参考资料。对于康耐视视觉库的使用有大概四种方式,直接使用其API编程的方式自然是最复杂的一种方式,但是也是最灵活的一种方式。直接调用API自然就要用到相应的命名空间极其相应的类,打算写一个系列的笔记来简单介绍一下这些;也因为原文是英文的,这些笔记也可以当做是翻译笔记吧,本篇是第一篇。...原创 2019-02-21 09:36:57 · 8546 阅读 · 2 评论 -
有关C#中重写按钮的onpaint函数,实现按钮形状的用户自定义
在使用C#进行界面开发的过程中,做界面开发经常会用到按钮,而C#界面中的按钮形状只有矩形的,而如果我们需要其他形状的按钮的话,就需要想点儿其他办法了,一般开发自己的控件有三种方法:首先是复合控件,从字面上就可以理解,是在原有控件的基础上进行组合,组合后的控件就是一个全新的控件;其次是扩展控件,一般控件都是用一个类进行了封装,我们可以通过继承该类,然后对其进行改写,赋予其新的特性;最后是...原创 2018-09-21 17:06:08 · 4327 阅读 · 1 评论 -
halcon 外部函数如:disp_message()等外部函数在遇到多个hv_ExpDefaultWinHandle情况下出现调用不正常/错误的情况
最近在做有关工业相机的手眼标定的项目,在HALCON中导出了相机标定的C#格式代码,所用到的halcon实例名称为:calibrate_cameras_monocular.cs。想实现标定图像和对应的3D场景分别显示在一个halconwindow中,如下图所示:但是在使用halcon外部函数,如disp_message()函数的时候发现,即便是我定义了两个句柄,并且将句柄作为参数传入到...原创 2018-09-26 17:19:04 · 10163 阅读 · 3 评论 -
C# winform 修改tab顺序
原创 2018-09-20 16:49:03 · 2039 阅读 · 0 评论 -
创建多窗口的Windowsform程序
有时候我们需要的Windowsform窗口不止一个,比如两个,这个时候就需要另外再添加窗口:怎么启动这个窗口呢?一般我们可以在第一个窗口中添加button,双击后,添加如下代码:Form2 mypic = new Form2();mypic.ShowDialog();单击我们的button就可以弹出第二个窗口了,然后我们就可以像在第一个窗口中添加button、textbox...原创 2018-08-27 17:48:59 · 1447 阅读 · 0 评论 -
对于C#winform界面开发中打开指定的目录及打开指定目录下的文件
在利用c#Windowsform开发界面的时候,免不了的要指定某个目录或者是打开某个目录下的文件,记得之前在c++的mfc做界面的时候是要写一段代码的,现在c#也是要写一段,不过没有以前C++那么麻烦,相比C++毕竟是高级语言,不用去底层做开发轮子的事情了,话不多说,直接上代码!private void button3_Click(object sender, EventArgs e) ...原创 2018-08-31 08:54:26 · 6950 阅读 · 0 评论 -
C# 鼠标悬浮mouseHover事件的添加 实现鼠标悬浮在按钮或者控件 显示相关的帮助信息
有些时候,我们为了让程序更加的人性化,降低应用的难度,必要的帮助信息是不可少的。比如,尽管某些按钮我们已经给其取了名字,我们可以从名字上大致判断出这个按钮的作用是什么,但是有些时候这些信息还是不够,或者是软件的使用者并不是业内相关的人员,这时候我们可以使用mouseHover事件,这个事件实现的功能是当鼠标悬浮在控件的上方,可以显示一些我们预先设定好的帮助信息,这样可以大大增强程序的可操作性,...原创 2018-08-31 11:06:19 · 21885 阅读 · 1 评论 -
C#多线程入门 附代码
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Threading;namespace C_Sharp_thread{ class Program { ...原创 2018-09-11 14:38:45 · 290 阅读 · 0 评论 -
C# Gradient descent algorithm
//gradient descent algorithmusing System;using System.Collections.Generic;using System.Linq;using System.Text;namespace gradient_descent_algorithm{ class Program { /// <summ...原创 2018-09-07 14:08:35 · 390 阅读 · 0 评论 -
C# 多线程与委托的疑惑 InvokeRequired==true or false
我们经常会碰到跨线程访问的问题,这时候可行的办法就是用委托,但是最近在用到委托的时候,发现InvokeRequired的值在程序运行过程中会变来变去的,我本来以为这个是一个定值,当InvokeRequired值为true的时候,就说明现在遇到跨线程访问了,那下面就需要用到委托,但是在设置断点查看InvokeRequired的值,发现在第一个断点处,InvokeRequired值为true,如下图所...原创 2018-09-13 11:07:09 · 4187 阅读 · 2 评论 -
beginInvoke 中if else语句的解读
我们一般常用control(也就是主线程)和delegate(委托)来使用invoke和beginivoke。在这里我先讲讲invoke、begininvoke之间的区别: Control的Invoke和BeginInvoke 是相对于支线线程(因为一般在支线线程中调用,用来更新主线程ui)Invoke立即插入主线程中执行,而BeginInvoke 要等主线程结束才执行两个invo...原创 2018-09-13 11:54:17 · 422 阅读 · 0 评论 -
C#中单击窗口右上角的窗口关闭按钮 弹出提示消息
如果我们在单击窗口右上角的窗口关闭按钮后,想要弹出一个确认的消息窗口,防止误操作,这时候我们可以自己定义相关的函数,在单击关闭按钮的时候运行该函数,弹出提示窗口,点击确认,说明我们确实是要关闭窗口,点击取消,则可以继续回到窗口界面,主要的代码如下:protected override void OnClosing(CancelEventArgs e) { ...原创 2018-09-13 17:18:03 · 9874 阅读 · 1 评论