C#
aaaaabin
越学越渺小,越渺小脾气越大,脾气越大越偏执。。。
展开
-
C#WinForm创建系统加载动画
思路:1、系统执行(加载到内存)后,创建一个Form窗口用来显示动画2、主程序页面初始化前,创建一个线程将添加动画并显示3、主程序页面加载完毕,关闭用来显示动画的Form窗口主要的三段代码:private Form cartoonForm = new Form();//系统加载动画private void SystemLoadCartoon() { ...原创 2020-03-30 20:12:02 · 5613 阅读 · 2 评论 -
C#使用委托实现在Form2中调用Form1中的控件
定义一个委托,在Form1中使用该委托声明一个静态委托变量,然后将Form1中某个使用控件的方法赋予给这个委托变量(建议最好是在Form1的构造函数中或者Form1加载事件中给该委托变量赋值,至少在Form2调用该委托之前加载即可),然后就可以在Form2中使用Form1.委托变量() 使用。具体操作截屏:Form1:Form2:效果:...原创 2020-02-22 00:11:26 · 3988 阅读 · 0 评论 -
C#中的dataGridView控件的使用(滑块跟着新增数据走,从新增行开始显示)
1、设计dataGridView控件的布局提几点常用的,其它布局详查属性列表表头设计:在属性列表中的Columns集合里祛除第一列(多余行):属性列表RowHeadersVisible = false只显示表头(不提前显示用户添加行):AllowToAddRows = false2、新增数据并从新增行开始显示 //新增行 ...原创 2020-02-21 23:38:51 · 1108 阅读 · 0 评论 -
C#ContextMenuStrip控件的后台动态创建
*向ContextMenuStrip中添加菜单节点//Menu控件的属性 private void MenuControl_Attribute() { this.menu.Items.Clear(); this.menu.Items.Add("相机"); this.menu.Items.Add("运...原创 2019-11-13 00:34:19 · 1195 阅读 · 0 评论 -
C#根据外部文件动态创建或改变控件
跟具外部文件动态创建控件或加载文件的方式提高了代码的复用性减少了冗余代码。以下演示一个自动化设备开发中通过INI文件将IO点位生成Button按钮,通过点击事件控制IO状态。INI文件内容:读取INI文件的类:class INI { /// <summary> /// 获取某个指定节点(Section)中所有...原创 2019-11-05 16:24:19 · 618 阅读 · 1 评论 -
C#实现类似navicat一样操作MySQL数据库的界面(MyBatis逆向工程思路)
在我之前学习到java数据库框架mybatis逆向工程时惊叹了一会儿,想了想这个思路理应早该想到。我们使用navicat工具创建了数据表还要写SQL语句跟表字段一一对应,多么费劲的一件事。SQL语句的增删查改万变不离其宗,变的只是库、表、字段等,也就是说我们动态获取到库、表、字段这些名字后动态插入SQL语句中不就完事了?于是今天呈有空就用C#实现了一个可以获取所有库、表、字段的demo,...原创 2019-11-03 01:54:48 · 1691 阅读 · 0 评论 -
一行代码解决C#多线程调用导致窗口及控件假死不刷新状态
在窗体的多线程环境下可能出现某个线程循环或者死循环的情况下,窗体或控件出现假死不刷新状态。大多数这种情况可以使用以下方法解决:Application.DoEvents();示例://某个导致界面假死的循环while (true){ Application.DoEvents();}注解:处理当前在消息队列中的所有 Windows 消息。运行 Windo...原创 2019-10-19 11:40:53 · 3194 阅读 · 0 评论 -
C#生成动态链接库Dll文件
C#里边的动态链接库相类似java的jar包,可以相当于一个封装好的工具类,一次编写好后后续使用无需再编写类似的代码,只需要引用到项目中即可调用,大大的节省项目的开发时间以及解决代码的冗余让代码简洁明了。创建Dll步骤1:使用VS编译工具选择合适的类库通用范围(这里因为是winform开发所以选择如下)创建Dll步骤2:编写类库代码(以下可参照)using System;usi...原创 2019-09-11 15:18:13 · 1585 阅读 · 3 评论 -
C#实现文件的拖拽加载
((System.Array)e.Data.GetData(DataFormats.FileDrop)).GetValue(0).ToString()这段代码可以获取到文件拖拽至加载范围后,文件的绝对路径。下面开始动手(这里以Form窗口为例):首先设置窗口允许“拖拽加载”功能,AllowDrop = true然后添加“拖拽”事件和它的方法:在方法中添加 string ...原创 2019-09-14 23:05:18 · 1481 阅读 · 0 评论 -
C#读取ini文件中某个节点(Section)下的条目(返回“key=value”形式)
今天想写一个完全只需要修改ini文件就可以动态改变某个winform内部结构的小模块,其中需要用到直接返回ini文件中原模原样的“key=value”形式的数据又或者经过加工后返回Dictionary对象。找了老半天最后找到一个网友转发的ini类,然后我把它改了标题转发出来让有同需求的人更容易找到;namespace IO_Form{ /// <summary&g...转载 2019-09-19 20:05:55 · 5122 阅读 · 2 评论 -
C#如何获取当前控件的子控件以及多重子控件的实例(能操作这些获取到的子控件)
拿个实例,参照这个实例的思路可以解决:比方说,我想获取到这个tabControl下当前选中的tabPage下的TableLayoutPanel下所有的Button控件(ps:以下是一个通过ini文件加载的控件布局,嵌套模型是 Form→tabControl→TableLayoutPanel→Button)代码: //检索并获取当前tabPage...原创 2019-09-20 14:52:19 · 3997 阅读 · 0 评论 -
C#获取枚举的key-value格式
首先,在目前C#版本中并没有一个直接返回枚举的key-value形式的有效方法,可能在C#枚举的设计思想上并不至支持这样使用,但枚举的格式很像键值对是有办法满足这一需求的。随便定义一个枚举:public enum En{ aaa = 1, bbb = 2, ccc = 3}返回枚举的key-value格式方法: public static Dictio...原创 2019-09-24 16:54:47 · 3005 阅读 · 0 评论 -
C#获取INI文件的key-value格式数据(获取指定Section节点下的数据并返回 Dictionary 对象)
可以将以下给的INI类中的代码合并到自己的INI类中去 class INI { /// <summary> /// 获取某个指定节点(Section)中所有KEY和Value /// </summary> /// <param name="lpAppName">节点名称&...原创 2019-09-24 17:23:01 · 1570 阅读 · 0 评论 -
提供一个C#文本加密的思路
思路:1、创建一个密码集2、将输入的字符匹配密码集进行加密实现:前台:代码:public partial class Form1 : Form { //定义一个密码集 Dictionary<char, string> code = new Dictionary<char, string>(); ...原创 2019-09-30 16:01:59 · 894 阅读 · 0 评论 -
C#基于Microsoft.Excel操作Excel表
首先搭建环境,分别引入COM组件中的相应Dll创建Excel表:Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application();//创建Excel表 object misValue = System...原创 2019-09-11 11:56:49 · 1582 阅读 · 0 评论 -
C#选择文件的对话框和选择文件夹的对话框
选择文件的对话框://选择文件文件对话框 OpenFileDialog dialog = new OpenFileDialog();//是否支持多个文件的打开?dialog.Multiselect = false;//标题dialog.Title = "请选择图片";//文件类型dialog.Filter = "图片(*.*)|*.*";//或"图片(*...原创 2019-09-10 21:12:48 · 8455 阅读 · 0 评论 -
C#带输入栏的提示框
Winform开发里面想要调用一个带输入栏的提示框可以事先设计一个这样的窗口然后通过委托和事件进行调用。不过这里提供一种更简单的方式:准备工作添加Microsoft.VisualBasic的引用代码string str = Interaction.InputBox("提示信息","标题","文本内容",-1,-1);效果...原创 2019-08-28 11:04:49 · 1713 阅读 · 0 评论 -
简单理解C#中的委托(delegate)与事件(event)
什么是委托?打个比方,你外卖到了你不想动,叫你室友帮你去拿,然后你室友就帮你拿了。这就是委托,委托别人帮你做一件事情。C#中的委托:定义:delegate语法: 权限修饰符 delegate 返回值 委托名 (参数类型 参数);特别注意:被委托的方法有无返回值、返回值类型、有无参数、参数类型要与委托一致实例:class Program { //...原创 2019-05-25 16:32:39 · 1473 阅读 · 0 评论 -
基于WF开发实现窗体与窗体之间的分离
思路:使用委托和事件,中间通过传递对象的方式实现分离以下以登陆为例思路图:实例主要以叙述为主,自己举一反三。项目结构:main方法在Program.cs文件中窗口Form1布局与代码: public partial class Form1 : Form { //创建一个死的账号密码 static String l...原创 2019-05-30 12:18:36 · 411 阅读 · 0 评论 -
C#字符串过长轮播的解决方案
思路:使用Substring(index,len)方法,获取字符串长度遍历字符串,再加上sleep线程等待显示。以下代码是我从我的一个项目中复制来的,请自行修改。private void button4_Click(object sender, EventArgs e) {string path=""; //获取列表路径 F...原创 2019-05-23 16:40:23 · 333 阅读 · 0 评论 -
C#中的多线程
概念:单线程与多线程单线程程序:如果有多个任务,只能依次执行。当且仅当一个线程执行完后才执行下一个线程。多线程程序:如果有多个任务,可以同时执行。线程与进程进程:指正在运行的程序。确切的来说,当一个程序进入内存运行那么这个程序变成了一个可执行的进程,进程是处于运行过程中的程序,并且具有一定独立性。线程:是进程中的一个执行单元,负责当前进程中程序的执行,一个进程中至少有一个线...原创 2019-05-23 21:19:19 · 640 阅读 · 0 评论 -
winform开发的跨线程访问控件的几种方式
不安全的访问方式://获取或设置一个值,该值指示是否捕获对错误线程的调用,这些调用在调试应用程序时访问控件的 Handle 属性。Control.CheckForIllegalCrossThreadCalls = false;为什么说这种方式不安全?无需过多的演示,从字面上去理解:获取或设置一个值,该值指示是否捕获对错误线程的调用,这些调用在调试应用程序时访问控件的 Handle 属性...原创 2019-05-31 16:39:03 · 978 阅读 · 0 评论 -
C#堆栈追踪获取多层调用的方法名
class Program { public static void Main() { One(); Console.ReadKey(); } //追踪者 static void Trailsman() { //获取当前的堆栈信息 ...原创 2019-06-03 07:28:41 · 853 阅读 · 0 评论 -
C#获取方法运行的耗时时间
思路:将要执行的方法委托给测量类执行,返回测量时间和目标方法的返回值。测量类: public class TestTime { /// <summary> /// 获取方法运行耗时 /// </summary> /// <param name="_method">委托方法&l...原创 2019-06-03 10:27:51 · 1934 阅读 · 0 评论 -
C#递归获取当前子节点的所有父级节点(基于Winform的treeView控件)
递归的方法: private void GetParentsName(TreeNode Node , ref List<String> NameList) { NameList.Add(Node.Text); if (Node.Parent!=null) { //递归 ...原创 2019-08-03 09:09:19 · 5389 阅读 · 0 评论 -
halcon基于物体特征的瑕疵检测
倘若一个物件具有一定完整的几何特性,大可在这些几何特性上下手。以下是在某halcon网站上找到的例子,楼主只发了一张具有瑕疵的工件图,需求是找出这个圆形工件的瑕疵,闲着没事就动手玩玩了。图:halcon代码:read_image (Image, 'C:/Users/斌/Desktop/untitled.png')threshold_sub_pix (Image, Border,...原创 2019-08-03 10:14:16 · 4054 阅读 · 7 评论 -
一个简单的C#背包系统
构思:总结以往游戏里面的背包栏,我们可以用一个树形结构去管理背包结构,通过创建节点的形式创建背包,管理的这些背包即是实时存在的文件夹。然后用专门的一个控件去显示背包内容或添加内容。构思图:控件展示:效果展示:添加完节点后向节点内添加文件(我这里是仅仅图片文件的背包系统)背包文件目录:代码:using System;using System.Col...原创 2019-08-05 14:32:16 · 1833 阅读 · 0 评论 -
基于Winform的Chart控件的简单使用(Chart控件中的条形统计图、折线统计图、扇形统计图的简单使用)
Chart控件集成了颇多的统计图模型,拿来即用的理念大大节省了开发的时间。下面演示最常见的三种统计图模型的使用。效果展示:C#代码:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using S...原创 2019-08-01 16:16:24 · 3039 阅读 · 0 评论 -
C#里面的Boolean不能赋空值?那如何解决。
今天在写C#代码时需要用到Boolean对象的3个状态,true、false、null。然而当我写它的时候发现,C#里面的Boolean对象居然不能传null !!!具体见下图吓得我立马按了F1进入微软官方的API,得到的结果是这个:也就是说,Boolean对象只有true和false两个值。bool也是一样。然后就在抱怨情绪下打开java的编译工具eclipse,顺手敲了一段代码...原创 2019-08-07 19:45:37 · 2358 阅读 · 0 评论 -
C#自定义鼠标右击菜单(ContextMenu)
代码:private void listView1_MouseDown(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Right && packPath != null) { string fileN...原创 2019-08-27 17:03:10 · 3757 阅读 · 0 评论 -
WinForms控件手册
最近在学C#的WF开发,从网上找了一批资料,有视频有电子书等文件。电子书类不敬人意,这些电子书从头到尾偶尔间歇偶尔堆挤,总之不便查找,如果有类似javaAPI这样的CHM文档最好。俗话说磨刀不误砍柴功,我总不可能以后通过这些电子书来找词,然后就花了点时间学习制作CHM文档,将这些电子书制作成了CHM文档。第一次制作可能较为潦草,制作不易请多包涵,感觉不错请素质“3连”。百度网盘连接:链接:...原创 2019-04-30 21:52:38 · 1154 阅读 · 4 评论