自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(91)
  • 收藏
  • 关注

原创 C#的App.Config文件XML解析

App.Config文件主要用来记录相关配置信息,其结构为XML文档格式。1、XML文档格式基本介绍关于XML文档的格式如下例子:<bookstre><book1 category=“C#”><title lang=“en”>C#自学入土</title><author>张三</author><year>2005</year><price>30.00</price><

2022-01-11 15:33:51 753

原创 Halcon基础语法一数据类型及变量

一、Halcon数据类型Halcon有两种数据类型1、控制数据类型简单的来说就是常规的数字、字符串等。主要起到控制参数的目的2、图标数据类型比较特殊,这种数据类型就是图像数据,主要用来传递图像得出结果的数据类型按照数和输出区分可以细分为输入控件和输出控件。**值得注意的是,输出控件一定为变量,因为他保存的是算子输出的结果。二、控制类型数据1、控制类型有一下几种:integer,real,string和boolean分别对应整形、实数型、字符串型、和布尔型(1)、integer整形它相当

2020-08-26 20:04:04 8595 1

原创 C#文件操作(三)

前面我们介绍过FileStream流,它是专门以字节形式处理的字节流。对于文本文件处理上不太方便,所以下面讲解一下用于文本文件处理中经常使用到的StreamReder和StreamWriter流。一、StreamReader流StreamReader类用于读取标准文本文件的各行信息。1、重载构造函数StreamReader(Stream) //指定...

2020-03-26 22:33:39 219

原创 C#文件操作(二)

一、文件操作和核心类文件是任何引用程序必不可少的操作,NET提供了文件操作基本都在System.IO、System.Text中。1、File、FileInfo类这两个类专门针对于文件的,其中File于FileInfo中有一部分的功能是重叠的,两者之间的区别就是File中内含很多静态的方法, FileInfo中含有的数据基本依赖于实际的对象。二者有很多重复的属性和方法,下面列举一下常见的方法...

2020-03-26 21:40:30 226

原创 C#文件操作(一)

一、System.IO任何程序中都离不开文件的读写与存储。C#中的文件操作基本上集中在System.IO、System.Text;两个命名空间内。System.IO命名空间内常用到的类如下:1、Directory //文件夹类(静态),用于创建、移动、枚举通过目录和子目录里的静态方法。2、DirectoryInfo ...

2020-03-25 22:23:38 380

原创 C#多线程Task类的使用(一)

关于多线程前面到工.NET1.0版本出来的Thread,.NET2.0版本出来的ThreadPool,那么今天我们介绍.NET3.0出来的新的多线程操作的类Task。相对于前面的两个版本出来的多线程操作类,Task类更加的强大,提供了丰富的Api。下面我们介绍Task的使用一、新建新建窗口项目,将项目属性中的输出类型设置为控制台输出。如下所示:定义两个方法以作试验用#region /...

2020-02-27 17:07:50 602

原创 C#多线程ThreadPool类的使用(一)

前面我们介绍了Thread类的使用,此类在。NET1.0版本的时候就有了,其内部含有大量的方法和属性。使用起来略有繁琐,为了提高使用多线程的效率,杜绝滥用多线程,.NET提出了ThreadPool也就是线程池的概念。何为ThreadPool线程池?实际上就是专门放置线程的池子,它是一个类,此类分装了Thread类中的一些方法和属性,使用户使用起来更加的快捷。此外它的使用效率高,需要的时候从池子...

2020-02-27 15:44:34 658

原创 C#多线程Thread类的使用(二)

前面的篇章介绍了多线程的基本概念和基本使用,下面介绍怎样处理带有回调功能的多线程。所谓回调就是执行完成后调用一些方法做最后的处理。例如我们想要在多线程执行完成后调用方法来表达多线程执行完毕。一、封装带有回调函数的线程#region //封装带有回调函数的线程private void ThreadWithCallBack(ThreadStart threadStart, Action act...

2020-02-27 00:48:14 247 1

原创 C#多线程Thread类的使用(一)

一、基本概念Thread 类是多线程中比较常用的一个类,有关类的详细可以通过VS中进行查看。下面介绍一下比较常见的几个方法和属性。1、构造函数public Thread(ParameterizedThreadStart start); //此构造函数接收一个有参数的委托,以此来执行委托中的方法public Thread(ThreadStart s...

2020-02-27 00:09:11 801

原创 C#同步和异步(五)带返回参数的异步调用

如果我们异步调用的是一个带有返回值的方法的话,那么该怎么操作呢?下面介绍一下有关BeginInvoke()方法和EndInvoke()方法的相关内容和知识。1、BeginInvoke方法在调用BeginInvoke时,参数列表中的实参组成如下:    1) 引用方法需要的参数。主要和委托指向的实际调用的方法的参数有关    2) 两个额外的参数——callback参数和sta...

2020-02-25 20:58:30 2323

原创 C#同步和异步(四)等待异步调用完成

如果有一种特殊需求,我们希望等待异步调用结束后继续执行后面的语句。这种形式和同步一样。那么怎么实现呢?下面介绍两种实现方式:1、简单方式利用IAsyncResult中的IsCompleted属性。此属性指示异步调用是否成功完成。BeginInvoke()方法返回值为IAsyncResult类型数据。有关IAsyncResult的具体定义如下: // 摘要: //...

2020-02-25 17:26:36 4517

原创 C#同步和异步(三)带回调委托的异步调用

什么情况下用到回调?之前我们说过异步调用时调用方是不会等待的,任由被调函数在新的线程中执行。但有时我们希望能够获知异步调用的结束与否。或者希望在调用结束后执行某一个方法那该怎么办?在BeginInvoke()方法中涉及到的参数中,有一个涉及到的是回调委托。这个委托就是专门用来回调用的,具体使用如下代码:#region //带有回调函数功能的调用方法/*public delegate...

2020-02-25 15:34:01 325

原创 C#同步和异步(二)同步和异步的示例

下面我们提供一个比较简单的同步和异步的程序来讲解同步和异步的区别和特点。创建一个Form窗口如下: 从上到下从左到右的顺序依次为button1~button5再讲项目属性的输出类型设置为控制台//详细的源代码请看C#同步和异步,范例源码篇章1、创建两个方法其中涉及到的几段代码讲解:using System.Threading; //多线程用的命名空间T...

2020-02-25 12:52:11 506 1

原创 C#同步和异步(一)基础概念

在了解异步与同步之前我们需要了解一下进程和线程的基本概念。1、进程 如上任务管理器的图片,当前计算机的正在执行的进程数为111,每个进程都是exe文件。所以进程就是一系列程序的整体,他们占用计算机的相关资源。将一个程序和占用资源综合来说就是一个进程了。2、线程与多线程所谓的线程就是进程的最小单位,在任何操作的操作都是由线程完成的。一个程序通常情况含有多个线程,多个线...

2020-02-25 11:40:14 638

原创 C#错误和异常(五)实例

C#错误和异常类实例using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace 自定义错误类{ class OutMaxExcption : Exception { ...

2020-02-23 18:23:10 237

原创 C#错误和异常(五)自定义异常类

C#自定义异常类在介绍自定义异常类之前我们先看看C#中的默认System.Exception类的元数据。 // 摘要: // 表示在应用程序执行过程中发生的错误。 [Serializable] [ClassInterface(ClassInterfaceType.None)] [ComDefaultInterface(typeof(_...

2020-02-23 18:11:27 1357

原创 C#错误和异常(四)嵌套的try块执行规律

嵌套的try块有的时候错误是需要嵌套的,这样可以使错误和异常提醒有一定的流动性。使用更加灵活如下所示的实例程序:try{ //point A try { //point B } //point C catch { } //point G finally { //clean up } //poi...

2020-02-23 17:59:59 1213

原创 C#错误和异常(三)System.Exception类介绍

System.Exception属性System.Exception类是所以异常类的基类。这个类具有以下几个属性:Data 这个属性可以给异常添加键/值语句,以便提供关于异常的额外信息HelpLink 连接到一个帮助文件上,以提供关于该异常更多信息InnerException 如果此异常实在catch块中抛出的,它就会包含把代码发送到catch块中的异常对象Message 描述错误情...

2020-02-23 17:54:50 6234

原创 C#错误和异常(二)捕获异常

C#捕获异常C#中是怎么捕获异常的呢?这其中用到了几种常见的语句。主要的关键字和语句如下所示:try 块包含的代码组成了程序的正常操作部分,但这部分程序可能遇到某些严重错误catch 块包含的代码处理各种错误情况,这些错误是执行try块中代码时遇到的。这个快还可以用于记录错误finally 块包含的代码清理资源或执行通常要在try块或catch块末尾执行的其他操作。无论是否抛出异...

2020-02-23 17:50:14 737

原创 C#错误和异常(一)基本概念

C#错误和异常一、基本概念一、引言一个健壮的程序少不了错误和异常的提醒。这在那些容易发生问题的程序片段显得十分的有必要。C#具有很好的错误和异常机制。可以提醒我们程序有没有发生错误,发生了什么样的错误。我们还可以自定义错误类以满足特殊需求。二、异常类C#内部具有很多应对不同情况下的异常类,如下面列举:1、System.Exception//所有异常的基类型2、System.Appli...

2020-02-20 17:46:59 801

原创 C#通俗易懂谈反射(四)

五、程序集的操作反射应用最多的还是在Dll程序集中的使用。下面介绍如何引用一个程序集,以及怎样利用反射对程序集中的类、方法等进行操作。//引入一个Dll并对读取其中的所有的成员Assembly ass=Assembly.LoadFrom(@"E:\ModeTest\Agilent AG34410A.dll"); //用绝对路径的方式引用程序集DLLType[] Tt = ass.GetT...

2020-02-20 16:58:01 133

原创 通俗易懂谈反射(三)

三、反射的具体使用1、实例化对象常用到以下几个函数:public ConstructorInfo GetConstructor(Type[] types); //更具参数列表查找符合的构造函数public object Invoke(object[] parameters);, //调动ConstructInfo对象的构造函数,并将指定的参数传入,使之实例化一个对象publi...

2020-02-20 14:50:29 123

原创 通俗易懂谈反射(二)

三、System.Type类Type类对于反射起到了决定性的核心作用。但是它是一个抽象的基类,Type有与每种数据类型对应的派生类,我们使用这个派生类的对象的方法、字段、属性来查找有关该类型的所有信息。例如:获取给定类型的Type引用有三种方式:1、使用typeof运算符Type t = typeof(string);2、使用对象GetType()方法。string s =“asdff...

2020-02-20 14:32:00 138

原创 C#通俗易懂谈反射(一)

一、反射是什么意思?从字面意思来看,反射就是通过一种机制来窥探内部的结构和细节。例如通过雷达反射可以窥探到天空,通过声呐可以窥探海底等。在计算机程序中,反射就是一种可以窥探到一个类或程序集内部的结构的一种机制。那么问题来了,什么情况下需要“窥探”?一般情况在对一个隐藏的类或未知的程序集的时候需要得到他们内部的结构。其中包括类型,属性,方法等等。有过这样的经历,当我们在C#中引用了一个Dll...

2020-02-19 22:45:08 683

原创 SqlServer用通配符进行过滤

–第六章 用通配符进行过滤/*注意:统配符只适用在文本字段上(字符串),非文本字段的通配符不能够适用通配符进行搜索。1、百分号%通配符–表示任何字符(除了null)出现的任意次数。‘Fish%’表示以Fish开头的所有产品,%bean bag%表示任何位置上包含bean bag的值F%y表示以F开头y结尾的所有产品2、下划线_统配符–表示任何单一字符‘__ inch teddy...

2020-02-19 15:00:06 1183

原创 SqlServer创建数据库并添加行

–创建表CREATE TABLE OrderItems(order_num int NOT NULL ,order_item int NOT NULL ,prod_id char(10) NOT NULL ,quantity int NOT NULL ,item_price decimal(8,2) NOT ...

2020-02-17 21:26:59 2631

原创 SqlServer高级过滤

–第五章 高级过滤数据/*where 操作符and 与 //不加括号的情况下and运算优先or执行or 或 //不加括号的情况下or运算法比and要后执行in 在范围内 //与多个=运算符相或效果一样,如order_item in(1,3)与order_item=1 or order_item=3等效not 表示否定的意思 //如not order_item=1与ord...

2020-02-17 21:23:51 372

原创 SqlServer

–第四章 简单过滤数据/*where 是过滤操作主要关键字,它支持的运算有以下几种:= 等于 大于<>或!= 不等于= 大于等于<= 小于等于< 小于!> 不大于!< 不小于is null 为null值between 在指定两个值之间*/select order_itemfr...

2020-02-17 21:23:00 592

原创 SqlServer排序检索

–第三章 排序检索select order_itemfrom OrderItemsorder by order_item; --以order_item为依据排序输出对应列select order_item,prod_idfrom OrderItemsorder by prod_id; --以prod_id为依据排序输出order_item,prod_id两列数据select ...

2020-02-17 21:21:59 311

原创 Sql server检索列

–第二章 基本查询select *from OrderItems; --从OrderItems表中搜索所有文件select order_itemfrom OrderItems; --从OrderItems表中搜索order_item行select order_item,prod_id,quantityfrom OrderItems; --从OrderItems表中搜索多个列,每个列名用...

2020-02-17 21:20:29 306

原创 C#窗体拷贝与修改

C#窗体拷贝与修改有时我们会像要将设计好的窗体进行拷贝为一个同样布局的窗体的时候,可以通过复制粘贴来解决。但是复制粘贴后会出现报错。下面来分析怎样修改这些错误使其能够正常运行。如下窗体:注意:原窗体必须设计完成无错误,且必须编译运行一次,否则会出现错误。如果没有编译运行的话,那么拷贝后的新窗体实际上就是上次编译成功的窗体。后面会详细演示。右击From1.cs,选择复制后再点击粘贴(也可通...

2020-02-16 16:38:39 1001

原创 C#选项卡TabControl控件隐藏指定选项卡的办法,任意不支持隐藏属性的实现办法详解

C#选项卡TabControl控件隐藏执行选项卡的办法如下图窗体:如果我们想要隐藏tabPage1的话,我们该怎么做。首先,tabControl控件由若干个tabPage成员组成。而这些tabPage成员的属性中并没有visable属性来控制它是否隐藏,那么怎么来实现隐藏呢?首先,打开From的代码生成器:翻到最下面我们可以看到如下几行代码。这说明了tabPage实际上是个类。那...

2020-02-16 12:01:12 7747 2

原创 C#利用groupBox将一个控件/From窗体 添加到当前窗体上

C#利用groupBox将一个控件/From窗体 添加到当前窗体上本篇章与“C#利用Panel将一个控件/From窗体 添加到当前窗体上”的内容几乎相同,只不过把panel编程groupBox。详情参考“C#利用Panel将一个控件/From窗体 添加到当前窗体上”。下面将From1中的代码粘贴如下:子面板 newPanel = new 子面板();newPanel.TopLevel = ...

2020-02-15 19:45:51 1359

原创 C#利用Panel将一个控件/From窗体 添加到当前窗体上

C#Panel的妙用一般来说Panel除了用作面板控件的排版外,他还有其他的功能。如下:新建一个面板From1,在From1中添加一个Panel控件。如下:再新建一个窗体命名为“子窗体”。在子窗体上放入若干控件,并设计好。在From1.s的From_Load函数添加如下代码:子面板 newPanel = new 子面板(); //新建一个子面板对象newPanel.TopL...

2020-02-15 19:03:55 8057 1

原创 C#利用代码生成器自动生成控件的相关操作代码(控件属性方法那么多,敲代码记不住怎么办?)

利用C#的Winfrom窗体设计可以快速开发窗体应用程序。但是对于基础不太好,或刚入门你的同学来说。那么多的控件,那么多的属性和方法有时记不住,敲代码想不起来怎么办?如下的一个窗体:上面的窗体通过工具栏拖动相关控件,再通过设置相关控件的属性栏中的相关属性生成的一个窗体。例如:利用代码来将一个ListView控件的背景色改变,那么该这么编程呢?虽然可以通过点击VS中控件的浏览框,通过手动点...

2020-02-15 15:56:38 1827

原创 C#ListView控件更改单元格颜色

C#ListView控件更改单元格颜色ListView控件是比较常用的一种控件,它可以按照列表的形式显示出有组织的内容。如下:可以通过设置ListView的View属性来设置ListView控件的显示外观,上图的样式设置为Detail,ShowGroups参数设置为false后的结果。有时会遇见需要更改单元格颜色的情况如下:那么该怎样实现上面的效果呢?下面介绍常用的方法:1、直接通...

2020-02-15 15:16:03 6707

原创 SqlServer2005新建和删除数据库

SqlServer2005新建和删除数据库一、新建数据库1、软件操作方法:如图所示:通过鼠标右击数据库便可以弹出菜单,点击菜单第一项新建数据库。如上所示,在数据库名称上面输入数据库名。可以点击下方的添加来在同一数据库上添加多个数据库文件。最终点击确定即可。如此便可以添加一个新的数据库了。2、命令方法不仅可以通过软件操作来新建数据库,还可以通过指令的方式来创建。首先点击软件上面...

2020-02-09 12:47:35 1027

原创 SQLServer2005基本操作

SQLServer2005基本操作一、引言Sql Server是Sql数据库比较常用的操作软件。它也是个数据库系统即DBMS。本系列篇章讲解的数据库都是基于Sql Server 2005来讲解的。其他版本大同小异。二、Sql Server数据库系统的基本知识1、连接打开软件后便会弹出此对话框,一般情况下登录可以有多种身份验证形式。一种是Windows身份验证,一种是Sql Serve...

2020-02-09 10:44:02 1397

原创 C#设计模式四(工厂方法模式)

C#设计模式之工厂方法模式一、引言在前面我们介绍到关于简单工厂设计模式的一些讲解。那么本篇章主要讲解工厂方法模式。但从字面上来看,简单工厂模式和工厂模式都是基于工厂思想的。那么两者之间自然存在着一定的相似。先来回顾一下简单工厂模式的原理:由上图可知,简单工厂模式中,其中共有七个(或更多)的产品,这些产品符合一定的标准规范,及所有产品都是继承同一个类。这样可以使所有产品具有同一类型的模...

2020-02-08 18:54:38 324

原创 SQL数据库基础

SQL数据库基础一、引言1、什么是数据库?数据库(DBS)就是一个以某种有阻止的方式存储的集合。2、什么是数据库管理系统?数据库管理系统(DBMS)说白了就是方便操作数据库的软件,例如SQL2005这个软件,它就是数据库管理系统。通过这个软件可以链接到数据库DBS,可以查询、新建、删除、更改数据库中的数据。二、表1、什么是表?一个数据库由若干个表组成。表可以看做成EXCEL表格中的...

2020-02-07 22:26:34 125

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除