随笔分类 -  C# and .Net

摘要:在基于Windows平台的程序设计中,事件(event)是一个很重要的概念。因为在几乎所有的Windows应用程序中,都会涉及大量的异步调用,比如响应点击按钮、处理Windows系统消息等,这些异步调用都需要通过事件的方式来完成。即使在下一代开发平台——.NET中也不例外。 那么什么是事件呢?所谓事件,就是由某个对象发出的消息,这个消息标志着某个特定的行为发生了,或者某个特定的条件成立了。比如用户点击了鼠标、socket上有数据到达等。那个触发(raise)事件的对象称为事件的发送者(event sender),捕获并响应事件的对象称为事件的接收者(event receiver)。 在这里,我 阅读全文
posted @ 2012-12-11 16:43 Code技术人生 阅读(366) 评论(0) 推荐(0)
摘要:关于进程及线程的基本含义及特性1,“进程”:process是操作系统中的基本执行单位。在多道程序设计的系统中往往同时有许多进程存在,它们要轮流占用处理器。这些交叉执行的并发进程相互之间可能是无关,也可能是相关的。当并发进程竞争共享资源时会出现与时间有关的错误,因此,应采用进程同步与互斥手段使其合理使用共享资源,以保证系统安全。 2,线程Thread:线程是进程中可独立执行的子任务。一个进程中可以有一个或者多个线程,每个线程都有一个唯一的标识符。 3,进程的顺序性:任何进程在顺序的处理器上的执行是严格按照顺序进行的,这就是进程的顺序性。当一个进程独占处理器顺序执行时,具有两个特性:封闭性、可再现 阅读全文
posted @ 2012-12-10 16:51 Code技术人生 阅读(341) 评论(0) 推荐(0)
摘要:1 System.Diagnostics.ProcessStartInfo Info = new System.Diagnostics.ProcessStartInfo(); 2 System.Diagnostics.Process Proc = new System.Diagnostics.Process(); 3 Info.FileName = "命令 "; 4 Info.Arguments = "参数 "; 5 P... 阅读全文
posted @ 2012-09-12 13:54 Code技术人生 阅读(947) 评论(0) 推荐(0)
摘要:关于使用到了两个C#关键字this和base。1,C# "this" keyword其作用引用类的当前实例,其实看了下面这个例子就好理解了。主要三个作用:当前实例、参数传递和索引器1.1 当前实例class Team{ ///成员变量 private string name; ///构造函数 public Team(string name) { this.name = name; }}在这里因为是要将参数的name值传入Team类或者说对象的name成员变量中.在这里通过使用this可以表明name的对象是当前的实例,也就是Team对象,而不是参数name.1... 阅读全文
posted @ 2011-09-06 12:46 Code技术人生 阅读(652) 评论(0) 推荐(0)
摘要:1.委派的实现过程。首先来看一下委派,委派其实就是方法的传递,并不定义方法的实现。事件其实就是标准化了的委派,为了事件处理过程特制的、稍微专业化一点的组播委派(多点委派)。下面举一个例子,我觉得把委派的例子和事件的例子比较,会比较容易理解。using System;class Class1{delegate int MathOp(int i1,int i2);static void Main(string[] args){MathOp op1=new MathOp(Add);MathOp op2=new MathOp(Multiply);Console.WriteLine(op1(100,20 阅读全文
posted @ 2011-09-05 17:56 Code技术人生 阅读(222) 评论(0) 推荐(0)
摘要:1.DateTimeDateTime now = System.DateTime.Now; now.ToString(); //显示: 2006/08/30 17:31:02now.ToString("yyyy-mm-dd hh:MM:ss");//显示: 2006-08-30 05:39:11now.ToString("yyyy-mm-dd HH:mm:ss");//显示: 2006-08-30 17:40:50 System.DateTime.MaxValue.ToString(); //显示:9999/12/31 23:59:59System.Da 阅读全文
posted @ 2011-05-11 14:02 Code技术人生 阅读(225) 评论(0) 推荐(0)
摘要:MessageBox.Show( "第一行\n第二行 ", "提示 "); 或者用 MessageBox.Show( "第一行 "+System.Environment.NewLine+ "第二行 ", "提示 "); 上面两行代码是等效的 第二种是通用的,在整个.NET中都可以使用 阅读全文
posted @ 2011-03-11 17:04 Code技术人生 阅读(5460) 评论(0) 推荐(0)
摘要:View Code private void grcPPintervalDetail_EmbeddedNavigator_ButtonClick(object sender, DevExpress.XtraEditors.NavigatorButtonClickEventArgs e) { if (e.Button.ButtonType == DevExpress.XtraEditors.NavigatorButtonType.Append) { try { ApplyEdit(); if (!string.IsNullOrEmpty(glucInvCName.EditValue.ToStri 阅读全文
posted @ 2011-03-09 08:49 Code技术人生 阅读(695) 评论(0) 推荐(0)
摘要:今天正好有空,昨晚写的程序未带到公司,无法继续写,公司生产管理解决方案及相关流程调整建议已经写完,需等公司领导审批,现在正好写写。在前在两篇讲到TreeList的绑定问题,接下来讲讲TreeList的操作。在GridControl中有EmbeddedNavigator控件进行数据的新增,删除等功能,但TreeList中却没有提供这样的功能,好在有一个controlNavigator控件,将此控件的NavigatableControl属性设为对应的TreeList 控件就可以进行相关操作了。但是也别高兴太早,由于TreeList新建的模式不同于GridControl,所以需要重写Navigata 阅读全文
posted @ 2011-03-09 08:43 Code技术人生 阅读(613) 评论(0) 推荐(0)
摘要:在开发中,把查询结果以DataTable返回很方便,但是在检索数据时又很麻烦,没有模型类型检索方便。所以很多人都是按照以下方式做的:// 获得查询结果DataTable dt = DbHelper.ExecuteDataTable(...);// 把DataTable转换为IList<UserInfo>IList<UserInfo> users = ConvertToUserInfo(dt);问题:如果此系统有几十上百个模型,那不是每个模型中都要写个把DataTable转换为此模型的方法吗?解决:能不能写个通用类,可以把DataTable转换为任何模型,呵呵,这就需要利 阅读全文
posted @ 2011-03-02 17:28 Code技术人生 阅读(2721) 评论(0) 推荐(2)
摘要:一、Dictionary<string, string>是一个泛型 他本身有集合的功能有时候可以把它看成数组 他的结构是这样的:Dictionary<[key], [value]> 他的特点是存入对象是需要与[key]值一一对应的存入该泛型 通过某一个一定的[key]去找到对应的值 举个例子://实例化对象 Dictionary<int, string> dic = new Dictionary<int, string>(); //对象打点添加 dic.Add(1, "one"); dic.Add(2, "two& 阅读全文
posted @ 2011-03-02 17:02 Code技术人生 阅读(771) 评论(0) 推荐(0)
摘要:原因通常,发生此问题的原因有以下几种: • 在 Visual Studio .NET 开发环境中,打开了多个窗口。 • 在您的 Visual Studio .NET 项目中,有多个文件夹同名。 • 注册表中的一些接口注册丢失。 • 在注册表中,Mergemod.dll 没有注册,或者注册了不完整的 Mergemod.dll 版本。版本为2.0.2542.0 ... 阅读全文
posted @ 2010-11-30 17:57 Code技术人生 阅读(1519) 评论(1) 推荐(0)
摘要:1:新建安装部署项目打开VS,点击新建项目,选择:其他项目类型-安装与部署-安装向导(安装项目也一样),然后点击确定.(详细见下图)此主题相关图片如下:2:安装向导关闭后打开安装向导,点击下一步,或者直接点击完成.3:开始制作安装向导完成后即可进入项目文件夹:双击"应用程序文件夹"在右边的空白处右击,选择添加-文件,将你的做的应用程序的可执行文件和相应的类库和组件添加进来.然后右击你的可执行文件,创建快捷方式,然后把快捷方式分别剪切或复制到左边的"用户的'程序'菜单"和"用户桌面"中.这样安装程序安装安装完成后会在 "开始-所有程序"和"桌面"上生成程序的快捷方式.然后右击左边的"应用 阅读全文
posted @ 2010-11-30 17:39 Code技术人生 阅读(1393) 评论(0) 推荐(0)
摘要:using System.Threading; Thread th=new Thread(delegate(){new YourForm().ShowDialog();}); th.Start(); 阅读全文
posted @ 2010-11-26 17:52 Code技术人生 阅读(2788) 评论(4) 推荐(1)
摘要:我想实现打开新窗口并关闭当前的窗口,大家一起来探讨下,有两个窗体Form1和Form2 我想点击Form1中的一个按钮simpleButton1,打开Form2同时关闭Form1...     如果Form1是主窗口。不可以close只能hide (From1是不是主窗体,在Program.cs这里Application.Run后面看出来) private void simpleButton1_C... 阅读全文
posted @ 2010-11-26 17:50 Code技术人生 阅读(1762) 评论(0) 推荐(0)
摘要:代码 阅读全文
posted @ 2010-11-25 23:44 Code技术人生 阅读(363) 评论(0) 推荐(0)
摘要:代码 阅读全文
posted @ 2010-11-25 18:30 Code技术人生 阅读(616) 评论(0) 推荐(0)
摘要:代码 阅读全文
posted @ 2010-11-25 18:29 Code技术人生 阅读(1188) 评论(0) 推荐(0)
摘要:C# 获取当前路径方法//获取包含清单的已加载文件的路径或 UNC 位置。 public static string sApplicationPath = Assembly.GetExecutingAssembly ( ).Location; //result: X:\xxx\xxx\xxx.dll (.dll文件所在的目录+.dll文件名) //获取当前进程的完整路径,包含文件名(进程名)。 ... 阅读全文
posted @ 2010-11-25 18:28 Code技术人生 阅读(127182) 评论(3) 推荐(14)
摘要:C#中string[]数组和list<string>泛型的相互转换 从string[]转list<string>string[] str={"1","2"};list<string> list=new list<string>(str);www.xuehi.com从list<string>转string[]list<string&g... 阅读全文
posted @ 2010-11-25 18:27 Code技术人生 阅读(758) 评论(0) 推荐(0)