![](https://img-blog.csdnimg.cn/20190924090605647.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
CSharp
CSharp相关的知识
Vector_LW
学无止境
展开
-
C#——如何使用 已知字符串 调用相关 方法 以及 类
如何使用 已知字符串 调用相关 方法 以及 类GetAndExecuteMethod("VisionTool.VS_TwoCornerLocation", "InitBaseVS_TwoCornerLocation");/// <summary>/// 调用并执行指定类里面的函数/// </summary>/// <param name="className">需要调用的类名(包含其命名空间)</param>/// <param name=原创 2020-12-23 18:42:11 · 888 阅读 · 0 评论 -
C#——文件\文件夹操作
打开文件夹 OpenFileDialog openFileDialog=new OpenFileDialog(); openFileDialog.InitialDirectory="c:\\";//注意这里写路径时要用c:\\而不是c:\ openFileDialog.Filter="文本文件|*.*|C#文件|*.cs|所有文件|*.*"; openFileDialog.RestoreDirectory=true; openFileDialog.FilterIndex原创 2020-12-23 18:40:02 · 141 阅读 · 0 评论 -
类图
原创 2020-12-23 18:37:42 · 167 阅读 · 0 评论 -
C#——INI文件操作
查看文件中是否有 RectEdgeDetect 节点List<string> sections = INIOperators.ReadSections(_fileName); if (!sections.Exists(x => x == "RectEdgeDetect")) {// 文件错误 返回 runResult.isOK = false; runResult.run.原创 2020-12-23 18:19:32 · 277 阅读 · 0 评论 -
C# 中使用多线程调用一个静态函数是否会产生线程安全问题
如题 在开发系统时 多个类需要调用同一个静态方法有可能会同时发生, 静态方法中没有静态变量 那么会不会出现线程安全问题呢如下测试开启 3 个线程 线程睡眠时间逐渐减少 共同调用同一个静态方法 静态方法输出传入得形参并显示 如果出现问题那么输出结果就会乱,多次运行 结果相同 那么认为该情况下不会产生线程安全问题using System;using System.Collections.Generic;using System.Linq;using System.Text;using Syst原创 2020-12-23 09:45:45 · 3173 阅读 · 0 评论 -
C#——绘制箭头的方法
效果见下图,实际上还是有区别的,箭头的起点处微信的是圆端,而我实现的是尖端。 说说我的实现吧,实现方法其实是划线,线的两端都要设置端点样式。看代码: Point _StarPoint = new Point(0, 0);Point _EndPoint = new Point(300, 300); System.Drawing.Drawing2D.AdjustableArrowCap _LineCap = new System.Drawing.Drawing2D.AdjustableArrowCap(翻译 2020-10-27 16:53:21 · 3731 阅读 · 0 评论 -
C#——添加鼠标右键菜单
C#添加鼠标右键方法步骤1 选中要添加右键功能的Form或者控件,打开控件的设计页面。2 从工具箱中找到ContextMenuStrip控件,将这个控件拖曳到Form或者控件的设计页面上。这时系统就会在这个页面下面自动创建一个contextMenuStrip1控件,如果你想在这个页面添加多个菜单,那么你也可以拖曳多个这种控件到设计页面上。3 按照你的要求将这些ContextMenuStrip控件改成你需要的名称。 然后, 选择需要右键弹出菜单的页面,比如你当前编辑的页面中有一个DataGrid,一原创 2020-10-27 16:49:54 · 2564 阅读 · 0 评论 -
C#——检测鼠标滑轮事件
private void Form1_Load(object sender, EventArgs e) { this.MouseWheel += new MouseEventHandler(Form1_MouseWheel); } void Form1_MouseWheel(object sender, MouseEventArgs e) { if (e.De...原创 2020-10-27 16:42:12 · 684 阅读 · 0 评论 -
C#——检测ctrl SHIFT ALT是否被按下
private void xxx_MouseClick(object sender, MouseEventArgs e){ if ((Control.ModifierKeys & Keys.Control) == Keys.Control)// CTRL is pressed { } if ((Control.ModifierKeys & Keys.Shift) == Keys.Shift) { }}原创 2020-10-27 16:41:15 · 741 阅读 · 0 评论 -
C#——winform中窗口关闭按钮隐藏与禁用
首先说一句:不存任何一种方式可以单独隐藏关闭按钮,隐藏的话会把所有最大化,最小化,帮助,关闭按钮都给隐藏掉。 第一 种: 禁用窗口上部的关闭按钮 方法一:在Form1的窗口程序中desigener设计器中重写如下方法:(将此部分粘贴到窗口程序中去就可以了) protected override void WndProc(ref Message m) &n...转载 2020-10-21 17:56:13 · 1943 阅读 · 0 评论 -
C#——子窗体关闭时向父窗体传值
原文地址:C#中子窗体关闭时向父窗体传值作者:GisEr窗体的show方法,没有给调用代码任何通知,如果需要通知,使用showdialog是一种好的选择。在调用show方法后,show方法后面的代码会立即执行,调用showdialog方法后,调用代码被暂停执行,等到调用showdialog方法的窗体关系后再继续执行。而且窗体可以返回一个dialogresult值,他描述了窗体关闭的原因,例如OK,Cancel,yes,no等。为了让窗体返回一个dialogresult,必须设置窗体的dialogresu转载 2020-10-21 17:53:13 · 3234 阅读 · 0 评论 -
C#——模态窗口 和 非模态窗口
模态窗口(ShowDialog)弹出窗口阻止调用窗口的所有消息响应。只有在弹出窗口结束后调用窗口才能继续。在模态窗口“关闭”后,窗口并没有真正被“关闭”,“关闭”按钮并没有调用窗体的Close方法,只是将窗体的Visible属性赋值为false,隐藏了窗体,所以模态窗口在不需要用的时候,务必手动Dispose释放窗体资源,虽然.Net会定时执行垃圾回收,但是何时执行垃圾回收并不受控制,当模态窗口关闭后窗体资源没有及时手动释放时,其他相关操作可能会引起线程阻塞导致程序假死。模态窗口资源释放后仍然能在当前转载 2020-10-21 16:50:06 · 1046 阅读 · 0 评论 -
C#——关闭窗体的四种方法
关闭窗体的四种方法 1. close():指仅关闭当前窗体,如果不是主窗体(包含主线程的窗体,并非MDI窗体)的话,是无法退出整个程序的。如果有托管线程也无法退出。 此方法会调用 dispose() 方法,所以它会自动的帮我们释放内存,除了以下两种情况:(1)该窗体是多文档应用程序(MDI)的一部分并且此窗体不可见;(2)此窗...转载 2020-10-21 16:44:56 · 4467 阅读 · 0 评论 -
C#——字典用法
作者:txw1958原文:http://www.cnblogs.com/txw1958/archive/2012/11/07/csharp-dictionary.html说明必须包含名空间System.Collection.GenericDictionary里面的每一个元素都是一个键值对(由二个元素组成:键和值)键必须是唯一的,而值不需要唯一的键和值都可以是任何类型(比如:string, int, 自定义类型,等等)通过一个键读取一个值的时间是接近O(1)使用方法 //定义转载 2020-10-20 15:45:45 · 1721 阅读 · 0 评论 -
C# 设计模式——单例模式
定义 :确保一个类只有一个实例,并提供一个全局访问点。思路将类的默认工造函数私有化,在类中实例化,再提供一个全局访问点。代码 /// <summary> /// 单例模式的实现 /// </summary> public class Singleton { // 定义一个静态变量来保存类的实例 private static Singleton uniqueInstance; // 定义一原创 2020-10-20 11:04:52 · 124 阅读 · 0 评论 -
C# 改变鼠标样式
this.Cursor = System.Windows.Forms.Cursors.PanNE;Cursors.下面有很多种系统自带样式或者自定义this.Cursor = new Cursor(“你的鼠标文件件绝对路径”);原创 2020-10-15 21:53:33 · 2907 阅读 · 0 评论 -
C# Math方法
Math.abs() 计算绝对值。Math.acos() 计算反余弦值。Math.asin() 计算反正弦值。Math.atan() 计算反正切值。Math.atan2() 计算从x 坐标轴到点的角度。Math.ceil() 将数字向上舍入为最接近的整数。Math.cos() 计算余弦值。Math.exp() 计算指数值。Math.floor() 将数字向下舍入为最接近的整数。Math.log() 计算自然对数。Math.max() 返回两个整数中较大的一个。Math.min() 返回原创 2020-10-15 21:50:58 · 2293 阅读 · 0 评论 -
C# 鼠标事件
鼠标事件(响应的时间参数均为MouseEventArgs类)1 MouseDown 当鼠标指针指向一个控件时按下鼠标按钮时发生2. MouseEnter 鼠标指针进入这个控件就发生3. MouseHover 鼠标指针在控件上停留或悬浮一段时间时发生4. MouseLeave 鼠标指针离开控件时发生5. MouseMove 鼠标指针在控件上方移动时发生6. MouseUp 当鼠标指针在控件的上方时释放鼠标按钮发生7. MouseWh原创 2020-10-14 22:10:11 · 7982 阅读 · 0 评论 -
c#引用(ref)的用法和应用实例
无论是浅拷贝与深拷贝,C#都将源对象中的所有字段复制到新的对象中。不过,对于值类型字段,引用类型字段以及字符串类型字段的处理,两种拷贝方式存在一定的区别(见下表)。 1. 一般对C#中传值调用和传引用调用的理解 如果传递的参数是基元类型(int,float等)或结构体(struct),那么就是传值调用。如果传递的参数是类(class)那么就是传引用调用。如果传递的参数前有ref或者out关键字,那么就是传引用调用。验证示例的代码如下:public class ArgsByRefOrValue转载 2020-10-14 22:04:07 · 8220 阅读 · 1 评论 -
C# partial 说明
什么是局部类型?C# 2.0 引入了局部类型的概念。局部类型允许我们将一个类、结构或接口分成几个部分,分别实现在几个不同的.cs文件中。局部类型适用于以下情况:(1) 类型特别大,不宜放在一个文件中实现。(2) 一个类型中的一部分代码为自动化工具生成的代码,不宜与我们自己编写的代码混合在一起。(3) 需要多人合作编写一个类。局部类型是一个纯语言层的编译处理,不影响任何执行机制——事实上C#编译器在编译的时候仍会将各个部分的局部类型合并成一个完整的类。public partial class.转载 2020-10-14 21:56:22 · 96 阅读 · 0 评论 -
C#中virtual和abstract的区别
virtual和abstract都是用来修饰父类的,通过覆盖父类的定义,让子类重新定义。它们有一个共同点:如果用来修饰方法,前面必须添加public,要不然就会出现编译错误:虚拟方法或抽象方法是不能私有的。毕竟加上virtual或abstract就是让子类重新定义的,而private成员是不能被子类访问的。但是它们的区别很大。(virtual是“虚拟的”,abstract是“抽象的").(1)virtual修饰的方法必须有实现(哪怕是仅仅添加一对大括号),而abstract修饰的方法一定不能实现。如对转载 2020-10-14 21:53:52 · 194 阅读 · 0 评论 -
C# winform程序怎么打包成安装项目(VS2010图解)
C# winform程序怎么打包成安装项目(VS2010图解) 作为研发人员,在本机上开发的winform、wpf或者控制台程序需要发给其他人测试时候,一般需要对其进行打包生成setup安装文件,根据网上查找的资料并结合自己打包成功,记录如下:注:本程序是一个利用winform实现的客户端程序,解决方案为第一步,右击“解决方案XXX”->添加“新建项目”-》“其他项目类型”-》“安装和部署”-》“安装向导” 然后点击下一步: 这里保持默认即可“转载 2020-08-12 11:23:46 · 513 阅读 · 0 评论 -
C#——串口数据转换例程(十六进制、字节数组、字符串)
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Thr...原创 2020-04-01 23:05:20 · 2768 阅读 · 0 评论 -
C#——ReportView生成报表
环境:Visual Studio 2010, C#;前言:本来是用VS2010连接Oracle数据库做一个报表功能,数据集设置部分出了些问题还未解决,因此先用本地动态数据为测试用例先熟悉VS自带的ReportViewer控件。新手上路,共同进步。牛蛙可以忽略。本文主要包含以下内容:一、ReportViewer使用小例子的完整步骤(新建-设计-编码-调试-结果);二、ReportView...转载 2019-09-25 16:18:23 · 2440 阅读 · 0 评论 -
C#——winform自己设计控件
转载自:https://www.jb51.net/article/136695.htm 本文以一个用户控件【User Control】实现温度计的小例子,简述用户控件的相关知识,以供学习分享使用,如有不足之处,还请指正。概述一般而言,用户控件【User Control】,是在Visual Studio提供的默认控件不能满足实际的工作需要,才需要在现有控件的基础之...转载 2019-09-25 11:37:12 · 1158 阅读 · 0 评论 -
C#——using三种使用方法
参考:https://www.cnblogs.com/stroll/p/8967319.html参考:https://www.cnblogs.com/mslalan/p/7452021.html(一).作为指令用在命名空间里using + 命名空间名字,这样可以在程序中直接用命令空间中的类型,而不必指定类型的详细命名空间,类似于Java的import,这个功能也是最常用的,几乎每个cs...原创 2019-09-24 09:12:45 · 347 阅读 · 0 评论