![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C#
图控大叔
这个作者很懒,什么都没留下…
展开
-
日志模块:log4net的简单使用
log4net的配置及其使用示例原创 2022-07-31 22:13:06 · 380 阅读 · 0 评论 -
C#编程:文件版本号的读取和设置
一级标题读取 //右击项目->属性->应用程序->程序集信息 可以设置版本号 //程序集版本 string ver = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString();Console.WriteLine("程序集版本:" + ver); //文件版本 File.原创 2022-05-04 10:21:52 · 2896 阅读 · 0 评论 -
C#编程:dataGridView
一级标题二级标题将AllowUserToAddRows改成False即可三级标题四级标题五级标题六级标题原创 2022-04-19 20:49:46 · 452 阅读 · 0 评论 -
C#页面编程:ContextMenuStrip控件【右键菜单栏选项功能实现】
ContextMenuStrip控件一级目录应用场景页面显示按钮命名(自定义)功能实现(双击进入槽函数)页面显示(附着于某处,以Form1为例子)代码呈现一级目录应用场景对部分图片显示控件、按钮控件上添加鼠标右键,自动显示需要增加了附加选项,以菜单栏的形式显示出来。页面显示按钮命名(自定义)功能实现(双击进入槽函数)页面显示(附着于某处,以Form1为例子)代码呈现using System;using System.Collections.Generic;using Sy.原创 2022-01-28 18:07:29 · 1933 阅读 · 0 评论 -
C#:根据应用名称,获取Windows日志
关于Windows日志的获取获取方式应用场景手动获取步骤说明图片说明自动获取程序代码获取方式应用场景一般情况下,程序还没有结束之前,程序自带的日志系统会记录各种异常信息。但是在特殊情况下,程序会有闪退等情况,导致程序自带的日志系统无法记录闪退原因。因此,获取Windows系统日志去确认程序闪退等异常的原因则十分有用且必要。手动获取步骤说明此电脑==》管理==》事件查看器==》Windows日志==》应用程序==》筛选当前日志==》根据应用名称进行筛选图片说明自动获取程序代码.原创 2022-01-24 10:02:58 · 1523 阅读 · 0 评论 -
C#网络编程:通过IP地址获取主机名称
IPHostEntry hostInfo; string IP = "";//填入的IP string HostName = ""; try { hostInfo= Dns.Resolve(IP); } catch (Exception ex) { ...原创 2021-08-25 12:27:31 · 703 阅读 · 0 评论 -
C# : Picturebox多张图片连续显示,无法刷新的问题。Refresh函数解决,其他组件也适应
原创 2021-08-22 16:37:24 · 2476 阅读 · 0 评论 -
C#使用NPOI库出现异常报错的解决方案
这里写目录标题一级目录问题截图原因分析解决方法解决步骤截图从工具入手输入NPOI,安装完成,具体程序一级目录问题截图原因分析因为自己所用到的NPOI库是网上找到的,版本和自己的VS环境之间不一定适配,因此出现了这种错误。解决方法直接去VS工具入口下载与VS版本适配的NPOI库即可解决步骤截图从工具入手输入NPOI,安装完成,具体程序using System;using System.Collections.Generic;using System.Linq;using .原创 2021-08-06 13:28:21 · 3754 阅读 · 3 评论 -
C#编程:xml文件的创建与写入
这里写目录标题一级目录Demo效果一级目录Demo public static void XMLCreateAndWrite_2() { //Console.Title = "创建XML文档"; string xmlName = "King.xml"; XmlDocument xmlDoc = new XmlDocument(); //Xml文档对象 .原创 2021-06-14 17:05:49 · 616 阅读 · 0 评论 -
C#编程:获取某个文件夹路径下所有指定文件类型的全路径
这里写目录标题一级目录Demo三级目录一级目录Demo string CsvPath = @"D:\数据结果\"; string[] path = Directory.GetFiles(CsvPath, "*.csv"); List<string> csvpathList = new List<string>(); DirectoryInfo dir = new Directory.原创 2021-06-14 01:47:16 · 705 阅读 · 0 评论 -
C#编程:简单获取csv中某一列的数据
这里写目录标题一级目录说明Demo一级目录说明这份代码大部分是某位博主写的,只是我复制下来使用的时候,对于获取的结果加上了自己的一些限制条件,但是现在又忘记了那个博主的链接,真的是遗憾。Demo static void ReadCsv(string CsvPath) { try { using (var sr = new System.IO.StreamReader(CsvPath)) .原创 2021-06-14 01:40:59 · 4317 阅读 · 0 评论 -
C#:Image与base64String互转程序
这里写目录标题一级目录Image转Base64StringBase64String转Image一级目录Image转Base64String public string ImgToBase64String(string PhotoPath) { FileStream fs = new FileStream(PhotoPath, FileMode.Open, FileAccess.Read); .原创 2021-06-14 01:26:26 · 594 阅读 · 0 评论 -
C#编程:对于TXT文件的写处理
这里写目录标题一级目录2021-5-19对于TXT文件的写操作结果一级目录2021-5-19对于TXT文件的写操作using System;using System.Collections.Generic;using System.Linq;using System.Threading.Tasks;using System.Windows.Forms;using System.IO;namespace WindowsFormsApp2{ static class Prog.原创 2021-05-19 11:38:46 · 299 阅读 · 0 评论 -
C#编程:文件夹相关操作【创建、移动、删除、存在、路径等】
这里写目录标题一级目录2021.5.4 更新判断文件夹是否存在创建文件夹移动文件夹删除文件夹遍历文件夹获得指定目录下所有文件夹的全路径一级目录2021.5.4 更新判断文件夹是否存在1.Directory类的Exists方法 确定给定路径是否引用磁盘上的现有目录,语法如下。 public static bool Exists (string path) path:要测试的路径。 返回值:如果path引用现有目录,则为true;否则为false。例子: .原创 2021-05-04 18:50:36 · 587 阅读 · 0 评论 -
C#编程:var、object、dynamic的简单区别
var 在编辑或编译的时候,就能自动推算出数据类型,在使用的时候可以明显看出是否错误dynamic:在运行时才对其对象进行解析,因此编译的时候无法发现是否有错object:不能直接与int、string等数据类型进行使用,需通过强制类型转换,但是对于可能出现的异常依旧无法判断。...原创 2021-05-04 15:07:16 · 393 阅读 · 0 评论 -
C#编程:空字符串与字符串引用为空值的区别
空字符串(string str = “”)和字符串引用为空值(string str = null)在使用中极易混淆,当一个字符串被赋值为null时,它并没有被分配任何的内存空间,而只是声明了一个字符串变量;但空字符串却拥有内存空间,它只是长度为0而已。下面通过一个例子演示它们的区别。 string str1 = null; string str2 = ""; str1.ToLower(); str2.ToLow.原创 2021-05-04 10:49:07 · 324 阅读 · 0 评论 -
C#编译错误:应用程序没有控制台或控制台输入已通过文件进行了重定向
编译时遇到这种错误的时候可以先查看一下程序的生成设置:应用程序,如:如图可以看出,当前的输出类型是Windows应用程序,而我们需要将其改成 “控制台应用程序”即可原创 2021-05-04 10:26:38 · 398 阅读 · 0 评论 -
C#编程:const常量和readonly常量的使用问题
C#提供了两种类型的常量,一种用const关键字声明,一种用readonly关键字声明。用const声明的是真正的常量,而用readonly声明的实际上是“只读的变量”。const声明的常量在编译时进行设置并且设置后就永远不能更改,此时编译器会把所有const常量全部替换为常数;而readonly声明的常量是在程序运行期间被初始化,该操作只能进行一次。另外,const常量只能在声明中赋值,readonly常量的初始化既可以在声明中进行,也可以在构造函数中进行,使用构造函数,readonly字段可被.原创 2021-05-04 10:05:07 · 189 阅读 · 0 评论 -
C#编程:值类型与引用类型使用时的问题
从概念上看,值类型直接存储其值,而引用类型存储对其值的引用;从内存空间上看,值类型是在栈中操作,而引用类型则在堆中分配存储单元。原创 2021-05-04 10:02:25 · 94 阅读 · 0 评论 -
C#编程:string和String与object和Object有什么不一样
C#语言是区分大小写的,例如string name和string Name语句声明了两个不同的字符串变量。在C#中有string和String两个类型,但如果你要认为这两个类型不相同,那就完全错了。但是在C#中,string和String就如同object和Object的关系,其实非常简单,它们是完全相同的类型。在C#中string是String的一个别名,而object是Object的一个别名。...原创 2021-05-04 09:44:50 · 867 阅读 · 0 评论 -
C#示例:通过DateTime查看当前系统是星期几
using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace dayofweek{ class Program { enum MyDate //使用enum创建枚举 { Sun = 0, //设置枚举值名称Sun,枚举值为0 Mon = 1, .原创 2021-05-03 18:52:55 · 905 阅读 · 0 评论 -
C#窗体编程:显示字体对话框,修改字体样式
C#编程中的winform窗体,对于字体的对话框的使用如下首先添加字体对话框控件:FontDialog其次在相应的事件中添加对于该字体对话框的显示及使用,这里以label为例子 private void label1_Click(object sender, EventArgs e) { fontDialog1.Font = this.label1.Font; //将Label控件字体赋值给FontDi..原创 2021-05-03 16:19:08 · 2217 阅读 · 0 评论 -
C#编程:气泡提示(ToolTip)使用
我们在项目开发中,常常有一些功能按钮或者是输入框等等组件是需要告诉客户这个功能是什么用的,但是因为项目功能庞大,这样的功能组件极多,很难全部写进用户手册中,因此我们需要一种快捷且及时的手段,在客户使用产品的时候,能够显示出来这些组件的作用。于是我们发现了气泡组件:ToolTip。先看功能具体实现首先,在工具箱中添加ToolTip组件对于按钮控件,在属性中填充你需要冒泡提示的文本即可而对于TextBox控件,我的做法是在MouseEnter事件中添加显示内容及显示时长,而Mouse..原创 2021-05-03 15:17:07 · 7566 阅读 · 2 评论 -
C#窗体编程:限制文本框输入内容,以TextBox控件为例
我们在项目开发中,常常对于某些控件的内容输入需要做限制,比如说账号输入和密码输入的时候,绝大多数情况下是不能出现中文的,设置有时候账号是纯数字,连英文都不能有,那么此时我们如何对其输入做限制呢?下面以TextBox控件为例以TextBox控件为例,在其事件中有对键盘输入的事件响应,因此,我们只需要对其键盘输入事件响应的地方做限制即可。首先,添加控件其次,找到其KeyPress事件,双击进入即可再者,看程序实现 void textBox1_KeyPress(o..原创 2021-05-03 14:32:38 · 3023 阅读 · 3 评论 -
C#编程:RichTextBox控件使用及自动刷新到最后一行
第一步:先添加控件第二步:添加内容改变事件【TextChanged】双击该事件后,在其事件实现函数中加入以下内容 private void richTextBox1_TextChanged(object sender, EventArgs e) { //自动滚到最后一行 richTextBox1.SelectionStart = richTextBox1.Text.Length; ri..原创 2021-05-01 20:13:55 · 3980 阅读 · 0 评论 -
C#最全编程及其窗体编程链接汇总
目录如下C#编程:查找窗体内某种控件,并进行属性设置C#编程:MessageBox 【弹出提示框(消息框)的用法】原创 2021-05-01 20:02:29 · 543 阅读 · 0 评论 -
C#控件关于:【警告:程序集绑定日志记录被关闭】的问题
问题网友提供的解决方法无效我本次的解决方法在参考网友的解决方法太难以实施后,我突然发现在备份代码关于该DLL与现在的生成的DLL大小不一致,因此我通过代码对比工具发现两个版本的类库直接的区别居然是这个文件!!详细对比之后才发现,是这里不一样编译后的目标平台不一样原版本:Any CPU,现版本:x64 如何更改将现版本的类库,在属性设置中,将目标平台改为Any CPU,重新编译生成后,Demo中用到该DLL的引用都需要重新引用一次总结:原因推断目标平台..原创 2021-04-10 10:51:25 · 3720 阅读 · 2 评论 -
C#编程:Task的使用
持续功能,C#学习总结汇总线程部分Task的使用Task的说明Task的简单使用Task的超时检测Task的带参数及返回值使用带返回值带一个参数和返回值多个使用和返回值线程部分Task的使用Task的说明暂时只知道这玩意是实现异步多线程的使用法宝Task的简单使用 //单个使用 Task.Run(()=> { //丢到后台运行的耗时业务逻辑代码 }); .原创 2021-03-11 21:23:27 · 873 阅读 · 0 评论 -
关于C#与halcon联合编程时的错误总结
问题目录初级试图加载格式不正确的程序初级试图加载格式不正确的程序问题截图原因:程序的位数可能不对解决方法:将AnyCPU改成64位或者32位,问题消失原创 2021-03-11 16:25:09 · 1774 阅读 · 1 评论 -
C#窗体编程:对话框
手动添加事件 public Form1() { InitializeComponent(); testButton.Click += new EventHandler(this.OnTest); button1.Click += new EventHandler(this.OnTest); button1.Name = "button1"; testB.原创 2021-01-29 16:55:37 · 1244 阅读 · 0 评论 -
C#编程:查找窗体内某种控件,并进行属性设置
private void button3_Enter(object sender, EventArgs e) { foreach (Control tempcon in this.Controls) { switch (tempcon.GetType().ToString()) { case "System.Windows.F...原创 2021-01-16 20:16:00 · 966 阅读 · 0 评论 -
C#编程:接口的例程极其详解(持续更新)
using System;namespace 接口{ //声明接口 interface Iinfo { string GetName(); string GetAge(); } //声明实现了接口的A类 class A : Iinfo { public string Name; public int Age; //在A类中实现了两个接口方法 publi原创 2020-12-17 17:28:53 · 360 阅读 · 0 评论 -
C#编程:字符串相关处理
创建字符串 /// <summary> /// 创建字符串 /// </summary> public static void CreateString() { string s1 = "hello"; string s2 = "first line\r\nSecond Line"; string s3 = @"\\ser\\file\\hello原创 2020-12-14 17:31:52 · 145 阅读 · 0 评论 -
C#编程:委托详解
什么是委托委托(delegate)是函数指针的“升级版”一切皆地址变量(数据)是以某个地址为起点的一段内存中所存储的值函数(算法)是以某个地址为起点的一段内存中所存储的一组机器语言指令直接调用与间接调用直接调用:通过函数名来调用函数,CPU通过函数名直接获取函数所在地址并开始执行—>返回间接调用:通过函数指针来调用函数,CPU通过读取函数指针存储的值获得函数所在地址并开始执行—>返回委托示例系统自带的简单委托Action委托(无返回值)Fun..原创 2020-12-09 10:25:34 · 352 阅读 · 0 评论 -
C#编程:泛型编程
泛型简单示例using System;namespace ConsoleApp3{ class Program { static void Main(string[] args) { Apple ap = new Apple() { color="red"}; Book bo = new Book() { name="new book"}; Box<Apple> bo.原创 2020-12-08 20:12:28 · 355 阅读 · 0 评论 -
C#编程:数值类型
原创 2020-12-08 09:08:52 · 95 阅读 · 0 评论 -
C#编程:注册表基础操作(查询、写入)
前言Windows注册表包含了Windows安装、用户自定义设置、已安装软件和硬件设备的所有配置信息,它相当于一个大型的系统配置信息“仓库”,这样通过读取注册表就可以获取很多重要信息。本次例程主要实现获取注册表HKEY_CURRENT_CONFIG基项的子项。这里是引用...原创 2020-11-27 18:27:31 · 1263 阅读 · 0 评论 -
C# 关于DLL参考链接
C#关于DLL封装并调用原创 2020-11-18 16:49:33 · 91 阅读 · 0 评论 -
C#编程:TreeView【添加根、子级】
第一步:在工具箱中添加TreeView第二步:点击右键,编辑节点第三步:自定义添加根、子级,再点击确认。而后双击treeView,可跳到事件处理函数 private void treeView1_AfterSelect(object sender, TreeViewEventArgs e) { //获取选中的节点的Text Console.WriteLine(treeView1.SelectedNode.Text); }第四步:业务...原创 2020-11-14 08:20:54 · 532 阅读 · 0 评论 -
C#编程:添加菜单和工具栏【在工具箱中】
提示根据情况自行添加原创 2020-11-12 09:48:00 · 444 阅读 · 0 评论