2018-08-18 08:21:14
在.NET中有组件、控件和用户控件。其实从字面上已经可以理解各自的不同了。但是具体关系其实是从类的继承上来区别的。一般控件派生于:Control类,所以从此类派生出的称之为控件。一般组件派生于:Component类,所以从此类派生出的称之为组件。一般用户控件派生于:UserControl类,所以从该类派生出的称之为用户控件。(我们之所以这么叫其实是因为英文翻译上的习惯)他们之间的关系主要是:Us...
2018-08-09 16:44:51
窗体代码: public partial class Form1 : Form
{
eventTest event1 = new eventTest();
public Form1()
{
InitializeComponent();
event1.disEvent += event...
2018-08-09 08:12:49
命名空间:netMarketing.winformHelper功能:动态构建属性功能详细说明:propertyGridHelper类用来动态构建属性。XProp类代表一条属性,XProps是多个XProp的集合类。这个类的优点在于可以动态设定propertyGrid控件的属性,传统的使用预定义标签与初始化代码实现的效果是固定的,是不可以增减的。这个类也有一个缺点,就是不好使用Settings类将用...
2018-08-08 14:19:29
命名空间:sharClass.Settings功能:保存界面控件内容到文件、读取配置文件内容到界面控件功能详细说明:Settings类可以保存常见控件内容到属性变量,你可以用它来保存设置面板的信息到磁盘文件,或者载入。这时候控件的名字要加上前缀:txt, cbb,chk,以识别是TextBox、ComboBox、CheckBox另外,这个类还可以保存PropertyGrid控件的信息。如果像本程序...
2018-08-08 13:16:45
Partial是局部类型的标志。局部类型可以实现将一个类、结构或接口分成几个部分,分别放在在几个不同的.cs文件中(当然也可以放在同一个.cs文件中)。在程序进行编译之后,将会合并成一个完整的类。因此局部类型并没有看起来那么难以理解,使用partial只是让类变得更容易管理,实际使用时和普通的类一样。适用范围: (1)类型特别大,不适合放在一个文件中实现。 (2) 一个类型中的一部分代码为自动化工...
2018-08-08 08:32:58
一,为DataTable设置主键如果我们为DataTable设置一个主键,那么我们就可以根据主键在DataTable中查到唯一的数据。为什么是唯一的数据呢?因为根据主键查出来的记录永远都是唯一的,呵呵,要不然它与DataTable的Select方法是一样的效果了。当然,利用DataTable.Select("能确定唯一的条件").Rows[0]也可以找到与利用主键查找到的一样的...
2018-08-05 16:04:40
为了快速体验一下C#的dataGridView控件,写了这段演示代码。请新建一个form,拖入一个dataGridView控件。然后添加下面的代码。效果如下:代码:using netMarketing.Interface.FormAbout;
using netMarketing.winformHelper;
using System;
using System.Collections.Ge...
2018-08-03 09:40:49
这个3个关键字貌似不是很常用。C#语法跟Java很接近,但是在Java里面也没有这些关键字。我在网上搜罗了一些资料,希望能够帮助我们更好的理解这些关键字。MSDN资料:http://msdn.microsoft.com/zh-cn/library/39bb81c3.aspx首先,explicit和implicit关键字分别表示显式的类型转换和隐式的类型转换。explicit 和 implicit...
2018-08-01 16:25:11
PropertyGrid,.net框架下的一个控件,这是一个软件升级的项目,原来的软件用的是C++,控件用的还是第三方,这次升级到visual studio .net4.0版本,原以为.net的东西用起来不会费劲的,没想到想要实现项目需要的效果还真没那么简单。 由于需要,我这里主要是为了能动态的生成属性页,还要带能动态生成下来菜单,所以今天主要从这方面总结。 首先定义一个属性类://单条属性类pu...
2018-07-30 08:44:52
在项目开发过程中,估计也有人和我遇到过同样的经历:运行环境出现了重大Bug亟需解决、或者由于电脑挂了、旧代码覆盖新代码,而在这种情况下,我们不能直接在当前的代码中修改这个Bug然后发布,这会导致更严重的问题,因为相当于版本回退了。还有电脑挂了代码整个都没有,这种情况下 我们只能只能利用一些逆向的技巧和工具了 来解析在服务器发布好的dll。那么你只是单纯的修改一个.Net程序集中的某个方法或功能,而...
2018-07-27 13:44:18
目录什么是静态常量(Const)和动态常量(Readonly)静态常量(Const)和动态常量(Readonly)之间的区别动态常量(Readonly)被赋值后不可以改变总结什么是静态常量(Const)和动态常量(Readonly) 先解释下什么是静态常量(Const)以及什么是动态常量(Readonly)。 静态常量(Const)是指编译器在编译时候会对常量进行解析,并将常量的值替换成初始化...
2018-07-26 16:20:34
Type.GetType()在跨程序集反射时返回null的解决方法在开发中,经常会遇到这种情况,在程序集A.dll中需要反射程序集B.dll中的类型。如果使用稍有不慎,就会产生运行时错误。例如使用Type.GetType("BNameSpace.ClassName")在程序集A.dll获取程序集B.dll中的类型,就会返回Null。关于跨程序集的反射,有两点需要注意: 1、如果...
2018-07-25 20:15:13
。文本操作...
2018-07-25 20:08:36
。常量与变量。函数与过程...
2018-07-24 21:53:44
在netMarketing/winformHelper/dynMenu.cs 这个类是动态菜单的业务逻辑。它的配置窗体位于另一个工程 UserUI/Dialog/dynMenuSteup.cs 中。dynMenuSteup.cs 包含了netMarketing类的引用。但是netMarketing类中又想弹出UserUI工程中的对话窗,但是你不可能再包含UserUI的引用,因为这样就是循环引用了。...
2018-07-24 17:09:41
c# 中 Abstract和Virtual比较容易混淆,都与继承有关,并且涉及override的使用。下面讨论一下二者的区别:一、Virtual方法(虚方法) virtual 关键字用于在基类中修饰方法。virtual的使用会有两种情况: 情况1:在基类中定义了virtual方法,但在派生类中没有重写该虚方法。那么在对派生类实例的调用中,该虚方法使用的是基类定义的方法。 情况2:在基类中定义...
2018-07-23 22:05:12
如果你直接绑定DataTable表,如下面代码:listBox1.DataSource = dt;则会出现下图现象:正确做法见代码:using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using...
2018-07-22 10:49:51
转载自: https://blog.csdn.net/zhujunxxxxx/article/details/44303743 文章系列目录C#网络编程系列文章(一)之Socket实现异步TCP服务器 C#网络编程系列文章(二)之Socket实现同步TCP服务器C#网络编程系列文章(三)之TcpListener实现异步TCP服务器C#网络编程系列文章(四)之TcpListener实现同步TCP服务...
2018-07-21 22:10:50
invoke和begininvoke 区别一直对invoke和begininvoke的使用和概念比较混乱,这两天看了些资料,对这两个的用法和原理有了些新的认识和理解。 首先说下,invoke和begininvoke的使用有两种情况: 1. control中的invoke、begininvoke。 2. delegrate中的invoke、begininvoke。 这两种情况是不同的,我们...
2018-07-21 11:11:41
EventArgs是包含事件数据的类的基类,用于传递事件的细节。今天分享的是使用泛型来约束EventArgs,在事件里传递自定义数据的例子。正题由于这个关注点很小,直接上代码了。定义泛型类TEventArgs:public class TEventArgs<T> : EventArgs
{
public TEventArgs(T t)
{...
2018-07-21 11:08:06
登陆采用TCP协议和HTTP协议,你和好友之间发送消息,主要采用UDP协议,内网传文件采用了P2P技术。QQ对于普通用户是采用UDP协议,对于会员用TCP协议总来的说:1.登陆过程,客户端client 采用TCP协议向服务器server发送信息,HTTP协议下载信息。登陆之后,会有一个TCP连接来保持在线状态。2.和好友发消息,客户端client采用UDP协议,但是需要通过服务器转发。腾讯为了确保...
2018-07-19 13:51:19
要使用Dictionary集合,需要导入C#泛型命名空间 System.Collections.Generic(程序集:mscorlib) Dictionary的描述1、从一组键(Key)到一组值(Value)的映射,每一个添加项都是由一个值及其相关连的键组成2、任何键都必须是唯一的3、键不能为空引用null(VB中的Nothing),若值为引用类型,则可以为空值4、Key和Value可以是任何类...
2018-07-19 08:52:43
csv格式如果有逗号,将这个字段整体用双引号括起来;如果里面还有双引号就替换成两个双引号,这样导出来的格式就不会有问题了/**
* 方法名称: csvHandlerStr</br>
* 方法描述: 处理包含逗号,或者双引号的字段</br>
* 方法参数: @param forecastName
* 方法参数: @return </br>
*...
2018-07-18 20:55:15
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace 事件1
{
class Program
{
static void Main(string[] args)
{...
2018-07-18 16:20:59
本类库采用TcpLister,TcpClient高度封装,采用NetworkStream进行异步模式读取数据.采用Semaphore来进行并发控制,放弃异步的最大原因还是在对于新手朋友来说难以理解异步的处理方式,在本类库中还有一个没有加入工程的asynchelper,这个类库是纯异步实现.当前处理方式: 异步+同步 ,海量数据并发不是靠异步就能解决的问题,在对学习Socket和想快速使用Sock...
2018-07-18 13:16:11
原文链接:https://blog.csdn.net/luyifeiniu/article/details/5426960最近项目中做一模块时偶发奇想,希望使用propertygrid的控件实现类似visual studio的属性样式,于是拿来一用,发现还真不是自己想象的那么简单,如果要实现一个比较好的展示,还真的需要不少技巧,通过自己的实践和网络的力量,“逢山开道,遇水搭桥”,总算是摸出一些门道...
2018-07-17 22:00:03
C# 利用数据库和MenuStrip控件动态生成菜单,设计如图一,拖一个Menustrip控件。
设计实现如下:
1、数据库设计:
列名
数据类型...
2018-07-17 17:06:28
一、 设置索引和试图DataTable的Select方法可以对一个表进行筛选和查询,返回的是数据表中可用行的一个子集,这样本来是很方便的,但是如果数据表比较大,而且需要重复对这个表进行相同的查询,那么资源的使用效率就无法达到最佳,另外Select方法返回的是DataRow数组,而不是一个DataTable,所以一些需要一张完整表才能处理的工具就不能对返回的数据行数组进行处理了。为了...
2018-07-16 14:52:19
勇哥收集的XLD相关的算子说明,方便大家备查。19.1 Access1. get_contour_xld 功能:返回XLD轮廓(contour)的坐标。2. get_lines_xld 功能:返回一个XLD多边形(polygon)数据。3. get_parallels_xld 功能:返回一个XLD并行数据。4. get_polygon_xld 功能:返回一个XLD多边形(polygon)...
2018-07-16 11:09:20
halcon测量的第一步,就是找边。边找精准了,计算两边的距离才可能精准。由于物料的管控不可能做到每片抽检,或者根本不被管控。这就要求我的抓边效果能最大化适合各种可能性。下面的程序使用鼠标确定测量框,根据设定参数拟合出一条质量可调的XLD线条。图1 鼠标绘制测量框图2 拟合完成的线条,这个例子由50个点拟合出XLD线条。十字点起标识点的作用。找线方法调用代码:fpath:='C:/Us...