C#
文章平均质量分 63
JiYuee Note
这个作者很懒,什么都没留下…
展开
-
C# 圆盘(hsv)颜色选择器
库包含一系列自定义控件和实用程序类,适用于使用颜色的 Windows 窗体应用程序。控件可用于通过 HSL 进行颜色选择。原创 2023-07-12 16:29:18 · 1526 阅读 · 0 评论 -
Git常用指令
克隆到指定路径:git clone repo:Git 仓库、directory:本地目录。将本地的 master 分支推送到 origin 主机的 master 分支:git push origin master。克隆到当前路径:git clone repo:Git 仓库。添加Git地址:git remote add origin。或 git add -A 或 git add --all。提交文件到暂存区:git add 文件名。原创 2023-07-01 17:26:25 · 552 阅读 · 0 评论 -
Visual Studio 2019安装vsix插件及Gitee.VisualStudio安装包
4.2复制Visual Studio 2019的安装路径,输入“cd D:\Visual Studio2019\Common(D:\Visual Studio2019是我的安装路径),然后回车。4.3输入“VSIXInstaller.exe(空格) 插件的路径”(我的放在D盘了),然后回车。6、打开Visual Studio 2019点击 “扩展”-“管理扩展”3、win+R打开运行,输入“cmd”7、在“已安装”可以看到安装的插件。4.1输入“D:”,然后回车。5、点击安装后,安装成功。转载 2023-02-07 11:53:54 · 3912 阅读 · 2 评论 -
虚拟机windows7安装启动MYSQL5.7
虚拟机windows7安装启动MYSQL5.7转载 2022-09-14 12:53:25 · 1486 阅读 · 0 评论 -
C# 全局钩子实现扫码枪获取信息
1.扫描枪获取数据原理基本相当于键盘数据,获取扫描枪扫描出来的数据,一般分为两种实现方式。 a)文本框输入获取焦点,扫描后自动显示在文本框内。 b)使用键盘钩子,勾取扫描枪虚拟按键,根据按键频率进行手动输入和扫描枪扫描判断。2.要实现系统钩子其实很简单,调用三个Win32的API即可。SetWindowsHookEx用于设置钩子。(设立一道卡子,盘查需要的信息)CallNextHookEx用于传递钩子(消息是重要的,所以从哪里来,就应该回到哪里去,除非你决定要封锁消息)Unh..转载 2021-12-17 16:08:57 · 6352 阅读 · 3 评论 -
C#:把dll封入exe中方法
在这个事件中,可以重新为加载失败的程序集手动加载如果你将dll作为资源文件打包的你的应用程序中(或者类库中)就可以在硬盘加载失败的时候 从资源文件中加载对应的dll就像这样:class Program{ static Program() { //这个绑定事件必须要在引用到TestLibrary1这个程序集的方法之前,注意是方法之前,不是语句之间,就算语句是在方法最后一行,在进入方法的时候就会加载程序集,如果这个时候没有绑定事件,则直接抛出异常,或者.转载 2021-11-19 12:33:37 · 805 阅读 · 0 评论 -
C# WPF:初识布局容器
StackPanel堆叠布局StackPanel是简单布局方式之一,可以很方便的进行纵向布局和横向布局 StackPanel默认是纵向布局的<Window x:Class="WpfApplication1.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title=转载 2021-09-11 17:07:25 · 486 阅读 · 0 评论 -
C#:RichTextBox 追加其它颜色的行列
1、新建静态扩展方法 public static class RichTextBoxExtension { public static void AppendTextColorful(this RichTextBox rtBox, string text, Color color, bool addNewLine = true) { if (addNewLine) { t...原创 2021-08-05 08:39:05 · 732 阅读 · 0 评论 -
C#:Dockpanel的一些入门的基本操作
原文链接:一、引用:1.建立一个WinForm工程,默认生成了一个WinForm窗体Form1(此处默认为主窗体)。2.引用—>添加引用—>浏览—>weiFenLuo.winFormsUI.Docking.dll。3.设置Form1窗体属性IsMdiContainer:True。4.工具箱—>右键—>选择项—>.net组件—>浏览—>weiFenLuo.winFormsUI.Docking.dll—>在工具箱出现dockPanel。转载 2021-05-24 14:29:05 · 1019 阅读 · 0 评论 -
C#:WinForm无边框窗体移动方法、模仿鼠标单击标题栏移动窗体位置
方法一:直接通过修改窗体位置从而达到移动窗体的效果方法二:直接伪装发送单击任务栏消息,让应用程序误以为单击任务栏从而移动窗体方法一1.定义一个位置信息Point用于存储鼠标位置1 private Point mPoint;2.给窗体等控件增加MouseDown和MouseMove事件/// <summary> /// 鼠标按下 /// </summary> /// <param na转载 2021-05-07 09:31:21 · 305 阅读 · 0 评论 -
C#:invoke 与 BeginInvoke使用区别
invoke和begininvoke 区别一直对invoke和begininvoke的使用和概念比较混乱,这两天看了些资料,对这两个的用法和原理有了些新的认识和理解。首先说下,invoke和begininvoke的使用有两种情况: 1. control中的invoke、begininvoke。 2. delegrate中的invoke、begininvoke。 这两种情况是不同的,我们这里要讲的是第1种。下面我们在来说下.NET中对invoke和begininvoke的官方定...转载 2021-03-17 09:23:15 · 165 阅读 · 0 评论 -
C#:委托基础与事件
通过以下思维导图,学习委托的基本概念,后面着重讲解委托的运用,希望通过最简单的方式收获更多的知识。1.委托的各种写法1、委托 委托名=new 委托(会调用的方法名); 委托名(参数);2、委托 委托名 =会调用的方法名; 委托名(参数);3、匿名方法:委托 委托名=delegate(参数){会调用的方法体};委托名(参数);4、拉姆达表达式:委托 委托名=((参数1,。。参数n)=>{会调用的方法体});委托名(参数);5、用Action<T>和Func<转载 2021-03-17 09:07:54 · 137 阅读 · 0 评论 -
C# :socket 通讯基础使用实例
们在讲解Socket编程前,先看几个和Socket编程紧密相关的概念:TCP/IP层次模型 当然这里我们只讨论重要的四层 01,应用层(Application):应用层是个很广泛的概念,有一些基本相同的系统级TCP/IP应用以及应用协议,也有许多的企业应用和互联网应用。http协议在应用层运行。 02,传输层(Tanspot):传输层包括UDP和TCP,UDP几乎不对报文进行检查,而TCP提供传输保证。 03,网络层(Netwok):网络层协议由...原创 2021-03-12 19:58:02 · 396 阅读 · 0 评论 -
C#:向C++封送结构体数组
在使用第三方的非托管API时,我们经常会遇到参数为指针或指针的指针这种情况,一般我们会用IntPtr指向我们需要传递的参数地址;但是当遇到这种一个导出函数时,我们如何正确的使用IntPtr呢,extern "C" __declspec(dllexport) int GetClass(Class pClass[50]);由于这种情况也经常可能遇到,所以我制作了2个示例程序来演示下如何处理这种非托管函数的调用!首先创建一个C++ 的DLL 设置一个如上的导出函数#...转载 2021-03-11 09:04:38 · 1294 阅读 · 0 评论 -
C# : 调用C++动态库(dll)
在实际软件开发过程中,由于公司使用了多种语言开发,在C#中可能需要实现某个功能,而该功能可能用其他语言已经实现了,那么我们可以调用其他语言写好的模块吗?还有就是,由于C#开发好的项目,我们可以利用reflector等反编译工具反编译出其源代码,所以对于一些核心算法,我们不希望被别人知道,因此为了增强代码的安全性,我们需要将一些核心算法用C或C++来编写,然后用C#来调用这些已经写好的接口。在面对以上情况时,我们该怎么做呢?方案一:重新实现 针对第一种情况,我们可以将C或者C++功能用C...转载 2021-03-11 08:07:23 · 877 阅读 · 0 评论 -
C# 使用 Windows API 操作控件: SendMessage
在C#中,程序采用了的驱动采用了事件驱动而不是原来的消息驱动,虽然.net框架提供的事件已经十分丰富,但是在以前的系统中定义了丰富的消息对系统的编程提供了方便的实现方法,因此在C#中使用消息有时候还是大大提高编程的效率的。定义消息在c#中消息需要定义成windows系统中的原始的6进制数字,比如const int WM_Lbutton = 0x0; //定义了鼠标的左键点击消息public const int USER = 0x000 // 是windows系统定义的用户消息消息发送消息发送是通过w转载 2020-09-26 14:52:38 · 1199 阅读 · 0 评论 -
WinAPI——Windows 消息
消息 值 注释 WM_NULL $0000 WM_CREATE $0001 WM_DESTROY $0002 WM_MOVE $0003 WM_SIZE $0005 WM_ACTIVATE $0006 WM_SETFOCUS $0007 WM_KILLFOCUS $0008 WM_ENABLE $000A WM...转载 2020-09-26 14:35:19 · 297 阅读 · 0 评论 -
C#中调用halcon引擎来执行hdev程序
调用halcon引擎有两个直接的好处: 避免C# 与halcon代码混编时可能产生的内存泄露问题 修改halcon程序时不用重新编译C# 勇哥写了一个示例,详细的应用感受和缺点限制勇哥会持续做相关的总结给大家分享。对于halcon17来说,要运行下面的程序,你要引用C#halcondotnet.dllhdevenginedonet.dllC#using HalconDotNet;using System;using System....转载 2020-09-25 20:45:59 · 3150 阅读 · 2 评论 -
C#调用 Halcon引擎执行代码
Halcon引擎可以直接执行halcon代码,把halcon程序当做C#的一个方法来调用,这样可以减轻C#这边的程序负担,而且可以避免内在泄露等bug的出现。还有一种好处是方便调试视觉代码,你只需要启动halcon,直接用修改调试视觉代码即可,C#那边不需要做改变。这种方式的缺点是定位halcon代码的错误比较麻烦,你不可能在halcon代码那里实时下断点。详细介绍见勇哥帖子,做个标记,有需要再看!网址链接:http://www.skcircle.com/?id=1344...原创 2020-09-22 20:22:58 · 2558 阅读 · 0 评论 -
重启唯一的窗体实例,以及调用系统重启函数失败解决办法
1、修改Program.cs内的程序启动函数static class Program { public static System.Threading.Mutex Instance; /// <summary> /// 应用程序的主入口点。 /// </summary> [STAThread] static void Main() {原创 2020-09-08 14:39:57 · 120 阅读 · 0 评论 -
C# 实体类几种深拷贝的方法——解决关于对象赋值,A=B,A改变,B也改变问题
几种常见的深拷贝方式1、利用反射实现public static T DeepCopyByReflection<T>(T obj){ if (obj is string || obj.GetType().IsValueType) return obj; object retval = Activator.CreateInstance(obj.GetType()); FieldInfo[] fields = obj.GetType().GetFields(BindingF原创 2020-08-05 08:40:04 · 1834 阅读 · 0 评论 -
C# 图片的读取
//图片转成二进制 public byte[] GetPictureData(string imagepath) { /**/ ////根据图片文件的路径使用文件流打开,并保存为byte[] FileStream FileStream = new FileStre...原创 2019-10-06 11:17:19 · 8675 阅读 · 0 评论 -
RichTextBox 改变每行的字体颜色
RichTextBox 改变每行的字体颜色1、新建方法AppendTextColorful(this RichTextBox rtBox, string text, Color color, bool addNewLine)2、调用方法AppendTextColorful(this RichTextBox rtBox, string text, Color ...原创 2018-08-01 14:42:14 · 9798 阅读 · 1 评论 -
Halcon实现边缘提取
一、边缘提取 1、设置ROI兴趣区域2、快速二值化,并连接相邻区域。这样做的目的是进一步减少目标区域,通过二值化将目标区域大概轮廓提取出来3、提取最接近目标区域的轮廓常用函数有boundary,gen_contour_region_xld4、根据自己的需求提取需要的初步轮廓5、将初步提取的初步轮廓进行膨胀操作6、将膨胀后的区域和原图进行减操作(在这步之前有可能需要对原图进行高...转载 2018-07-19 16:21:47 · 12353 阅读 · 0 评论