zoukankan      html  css  js  c++  java
  • OEA体验 :常用功能2

    一、摘要

           我下面写的是我在使用OEA中用到的功能,当然还有好多现在还没有用到,希望高手们多多指点指点。

    OEA 源码:OEA框架 2.9 Pre-Alpha 源码公布 可以到BloodyAngel 的博客和中可以下到。

    虽然作者的DEMO应经有了,但毕竟是写好的,只有自己动手才能更好的掌握这个框架,所谓体验决定深度嘛。

    二、本文大纲

           a、摘要 。

           b、DDD 之父子关系 。

    二、DDD 之父子关系

           DDD思想可以查考周哥的DDD - 使用聚合(Aggregate)来设计类库文章这里就不详述了。

    我们要实现的效果是:

    image

    在这里我们还是要用到 小区表 和 客户表 哦 小区表是父 客户表是子

    父(RootEntity):下面的代码有 OEAPropertyChildren 生成。

     1:  ///<summary>
     2:  ///描è述? : 街?道à小?区?.
     3:  ///<see>类à库a对?应|的?数y据Y库a表í NT_Clcs_Village </see>
     4:  ///</summary>
     5:  [Serializable]
     6:  [RootEntity]
     7:  public class Village : DemoEntity
     8:  {
     9:   
    10:      public static readonly Property<ClientinfoList> ClientinfoListProperty = P<Village>.Register(e => e.ClientinfoList);
    11:      [Association]
    12:      public ClientinfoList ClientinfoList
    13:      {
    14:          get { return this.GetLazyChildren(ClientinfoListProperty); }
    15:      }
    16:   }

    子(ChildEntity):下面的代码有 OEAPropertyReference 生成外键关系。

     1:  ///<summary>
     2:  ///描è述? : 客í户§信?息¢.
     3:  ///<see>类à库a对?应|的?数y据Y库a表í NT_Clcs_ClientInfo </see>
     4:  ///</summary>
     5:  [Serializable]
     6:  [ChildEntity]
     7:  public class Clientinfo : DemoEntity
     8:  {
     9:      public static readonly RefProperty<Village> VillageRefProperty =
    10:          P<Clientinfo>.RegisterRef(e => e.Village, ReferenceType.Parent);
    11:      public int VillageId
    12:      {
    13:          get { return this.GetRefId(VillageRefProperty); }
    14:          set { this.SetRefId(VillageRefProperty, value); }
    15:      }
    16:      public Village Village
    17:      {
    18:          get { return this.GetRefEntity(VillageRefProperty); }
    19:          set { this.SetRefEntity(VillageRefProperty, value); }
    20:      }
    21:   }

    注意:

     1:  internal class ClientinfoConfig : EntityConfig<Clientinfo>
     2:  {
     3:      protected override void ConfigView()
     4:      {
     5:          base.ConfigView();
     6:   
     7:          View.HasLabel("客í户§"); // 主要要加上这个哦,要不然系统会报警的。
     8:      }
     9:   
    10:  }
    11:   

    作者:罗敏贵
    邮箱:minguiluo@gmail.com
    QQ群:34178394 建群 主要是寻找志同道合的人士一起学习和讨论自己的所学所思
    出处:http://luomingui.cnblogs.com/
    说明:专注于微软平台项目架构、熟悉设计模式、架构设计、敏捷个人和项目管理。现主要从事WinForm、ASP.NET、等方面的项目开发、架构、管理工作。文章为作者平时里的思考和练习,可能有不当之处,请博客园的园友们多提宝贵意见。
    知识共享许可协议本作品采用知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议进行许可。

    C#基础系列

    asp.net web控件使用和基础 C#基础 和win控件使用
    摘要: 一、摘要 我下面写的是我在使用OEA中用到的功能,当然还有好多现在还没有用到,希望高手们多多指点指点。 OEA 源码:OEA框架 2.9 Pre-Alpha 源码公布可以到BloodyAngel的博客和中可以下到。 虽然作者的DEMO应经有了,但毕竟是写好的,只有自己动手才能更好的掌握这个框架,所谓体验决定深度嘛。 二、本文大纲 a、摘要 。 b、DDD 之父子关系 。 二、DDD 之父子关系 DDD思想可以查考周哥的DDD - 使用聚合(Aggregate)来设计类库文章这里就不详述了。 我们要实现的效果是: 在...阅读全文
    posted @ 2012-04-08 09:21 罗敏贵 阅读(387) | 评论 (1) 编辑
     
    摘要: 一、摘要 我下面写的是我在使用OEA中用到的功能,当然还有好多现在还没有用到,希望高手们多多指点指点。 OEA 源码:OEA框架 2.9 Pre-Alpha 源码公布可以到BloodyAngel的博客中可以下到。 二、本文大纲 a、摘要。 b、数据过滤。 c、托管属性。 d、支持树型实体 。 二、数据过滤 数据查询是一个在平常不过的事,我们来看看OEA是怎么帮我们实现的。下面用一个简单的例子来说明,如我们要实现根据客户名称来查询,效果图如下: 要达到上面效果实现代码如下: 前台调用如下: 1...阅读全文
    posted @ 2012-04-07 20:54 罗敏贵 阅读(429) | 评论 (4) 编辑
     
    摘要: 据说明天样片就寄来了,可是我的pc端串口还未做,以为很难,就拖着,看了http://www.cnblogs.com/tuyile006/archive/2008/10/06/514300.html之后更是一头雾水今天下狠心,没想到不到两小时就解决了,做个教程方便大家。使用serialport类,C#自带的第一个例子参见http://book.csdn.net/bookfiles/499/10049917236.shtml首先是在一台pc同一个串口上实现数据收发。那么需要把TX和RX短接。我等软件专业的哪有什么做跳线的母头、导线啊,我就在程序运行时拿钥匙把那两个脚短接了。public parti阅读全文
    posted @ 2011-10-24 08:44 罗敏贵 阅读(145) | 评论 (0) 编辑
     
    摘要: C# 创建快捷方式 以下代码在2.0,3.0,3.5 下都可以正常运行,在4.0在报错。不知道那为仁兄知道在4.0下创建快捷方式。选择 COM 选项卡并选择 Windows Script Host Object ModelusingIWshRuntimeLibrary;namespaceConsoleApplication1{classProgram{staticvoidMain(string[]args){stringDesktopPath=System.Environment.GetFolderPath(System.Environment.SpecialFolder.Desktop);/阅读全文
    posted @ 2011-09-23 11:02 罗敏贵 阅读(50) | 评论 (0) 编辑
     
    摘要: jQuery.get(url,[data],[callback]) 通过远程 HTTP GET 请求载入信息。 这是一个简单的 GET 请求功能以取代复杂 $.ajax 。请求成功时可调用回调函数。如果需要在出错时执行函数,请使用 $.ajax。 Load a remote page using an HTTP GET request. This is an easy way to send a simple GET request to a server without having to use the more complex $.ajax function. It a...阅读全文
    posted @ 2011-08-30 16:54 罗敏贵 阅读(313) | 评论 (0) 编辑
     
    摘要: 摘要: 1.绑定数据this.lngCatalogID.DataSource=dt;//\绑到DataTable上this.lngCatalogID.DataTextField="strCatalogName";//前台看到的值,也就是CheckBoxList中显示出来的值this.lngCatalogID.DataValueField="lngCatalogID";//这个值直接在页面上是看不到的,但在源代码中可以看到this.lngCatalogID.DataBind();2.获取钩选的项foreach(ListItemliinlngCatalogID.It阅读全文
    posted @ 2011-08-04 16:00 罗敏贵 阅读(82) | 评论 (0) 编辑
     
    摘要: 自从Vs2005起,Vs开发环境便自带了WebDev.WebServer,就是这个图标,它实际上是一个小型的Web服务器,专用于.net平台。大家经常调试程序它还是相当的方便,经过小小的配置就可以指向某个文件夹,使该文件夹成为网站目录已供访问。 WebDev.WebServer确实很轻便,同时它本身是.net程序,才2个文件,作为测试和演示环境是非常的好用,在xp也能很好的运行,Xp的IIS5实在是不方便用。 但是自带的WebDev.WebServer只能用于本机,那是因为MS对其进行了限制,因为作出它的目的,本身是为了Vs的开发更方便而已,但是很多测试也是基于网络的,至少你不希望别人测试一些网站,总得来用你的电脑吧。 WebDev.WebServer一共是两个文件,一个是WebDev.WebServer.exe,另一个是WebDev.WebHost.dl阅读全文
    posted @ 2011-07-12 17:23 罗敏贵 阅读(315) | 评论 (0) 编辑
     
    摘要: Remoting服务发布方式? 通过配置文件实现用应用程序发布 这个在第一篇就已经讲了。通过Windows服务发布。 通过IIS发布阅读全文
    posted @ 2011-07-11 13:52 罗敏贵 阅读(83) | 评论 (0) 编辑
     
    摘要: 对于服务器对象不保留任何状态的SingleCall对象是不需要有对象租用的。只有需要保留状态的对象,无论是服务器激活的Singleton 还是客户端激活的对象才需要对象租用。 租约 生命周期 发起人(Sponsor) 下面是NET Remoting 为管理远程对象的生存期管理的架构: ILease 接口定义了很多用于管理对象生存期的属性: InitialLeaseTime。确定租用最初的有效期。 RenewOnCallTime。在每个方法调用后,更新此时间单元的租用。 SponsorshipTimeout。负责人通知租用过期后,Remoting 要等待的时间。 CurrentLeaseTime。距租用到期的时间(只读)。 续约的方法有3种: 1)隐式续约:当客户调用远程对象上的方法时,租约的隐式续借会自动进行。 2)显示续约:通过ILease接口的Renew()方法完阅读全文
    posted @ 2011-07-09 14:53 罗敏贵 阅读(94) | 评论 (1) 编辑
     
    摘要: 什么是Remoting,简而言之,我们可以将其看作是一种分布式处理方式 。从微软的产品角度来看,可以说Remoting就是DCOM的一种升级,它改善了很多功能,并极好的融合到.Net平台下。Microsoft .NET Remoting 提供了一种允许对象通过应用程序域与另一对象进行交互的框架。这也正是我们使用Remoting的原因。为什么呢?在Windows操作系统中,是将应用程序分离为单独的进程。这个进程形成了应用程序代码和数据周围的一道边界。如果不采用进程间通信(RPC)机制,则在一个进程中执行的代码就不能访问另一进程。这是一种操作系统对应用程序的保护机制。然而在某些情况下,我们需要跨过应用程序域,与另外的应用程序域进行通信,即穿越边界。阅读全文
    posted @ 2011-07-08 16:14 罗敏贵 阅读(181) | 评论 (1) 编辑
     
    摘要: 什么是Remoting,简而言之,我们可以将其看作是一种分布式处理方式 。从微软的产品角度来看,可以说Remoting就是DCOM的一种升级,它改善了很多功能,并极好的融合到.Net平台下。Microsoft .NET Remoting 提供了一种允许对象通过应用程序域与另一对象进行交互的框架。这也正是我们使用Remoting的原因。为什么呢?在Windows操作系统中,是将应用程序分离为单独的进程。这个进程形成了应用程序代码和数据周围的一道边界。如果不采用进程间通信(RPC)机制,则在一个进程中执行的代码就不能访问另一进程。这是一种操作系统对应用程序的保护机制。然而在某些情况下,我们需要跨过应用程序域,与另外的应用程序域进行通信,即穿越边界。阅读全文
    posted @ 2011-07-08 13:39 罗敏贵 阅读(110) | 评论 (0) 编辑
     
    摘要: 摘要: 网上有不少用其他语言实现虚拟桌面的例子,但是用C#实现的倒是比较少,所以就封装了一个VirtualDesktop类,可以很方便的实现虚拟桌面。 实现虚拟桌面,主要是利用CreateDesktop、OpenDesktop和 SwitchDesktop这几个API函数,如果想在打开的桌面上运行程序的话还需要的就是CreateProcess函数,这些API函数的具体介绍可以到MSDN上查看,在程序中,这些API的封装都放在NativeMethods类中。 VirtualDesktop类都已经把重要的方法实现了,包括创建新和打开新桌面、切换到新桌面、关闭新桌面和在新桌面中运行程序,而且还提供了几个常用阅读全文
    posted @ 2011-06-27 16:49 罗敏贵 阅读(236) | 评论 (1) 编辑
     
    摘要: 引用KProtectProcess.dll然后NKCore.dll 是c++的类库放在同级目录就可以了。开始调用KProtectProcess.KProcess.SelfProtection();结束调用KProtectProcess.KProcess.UnLoadProtection();这样用户就无法在任务管理器的 进程 中杀掉你的程序了。/Files/luomingui/进程防杀.rar阅读全文
    posted @ 2011-06-25 12:43 罗敏贵 阅读(133) | 评论 (1) 编辑
     
    摘要: using System;using System.Collections.Generic;using System.Text;using System.Collections;namespace AppUtility{ ////// 获得汉字的拼音 ///static public class PinyinHelper { static private Hashtable _pinyinHash; #region static stor. static PinyinHelper() { _pinyinHash = new阅读全文
    posted @ 2011-06-23 13:35 罗敏贵 阅读(53) | 评论 (0) 编辑
     
    摘要: 测试的url地址是http://www.gkxsn.com/testweb/default.aspx?id=1, 结果如下:Request.ApplicationPath: /testwebRequest.CurrentExecutionFilePath: /testweb/default.aspxRequest.FilePath: /testweb/default.aspxRequest.Path: /testweb/default.aspxRequest.PathInfo:Request.PhysicalApplicationPath: E:\WWW\testweb\Request.Ph.阅读全文
    posted @ 2011-06-16 11:48 罗敏贵 阅读(23) | 评论 (0) 编辑
     
    摘要: 转载笔记:DropDownList无限级分类(灵活控制显示形式) 调用方式:AddTree("0", this.RadTreeView2.Nodes);二次改造做成一个通用的类 调用 如: new DrpGradingList("select * from dbo.NT_Clcs_ClientType ", "Cc_Name", "Cc_ID", defValue).BindDrpClass(ddl); 改造过的函数 BindDrpClass(editparentid);}阅读全文
    posted @ 2011-06-07 12:51 罗敏贵 阅读(69) | 评论 (0) 编辑
     
    摘要: 1>今天一个朋友提出一个问题: 为什么在用File控件读取图片、文档、等文件路径的时候没错误,而在读取视频文件(如rmvb等)出现该页无法显示错误。其代码片段如下:privatevoidbtnUpFiles_Click(objectsender,System.EventArgse){stringpathName=this.File1.PostedFile.FileName.ToString();Response.Write(pathName);}2> 着手解决问题: 我以为是取路径字符串的问题,所以就先截取路径和文件名,再截取文件的后缀名,分别保存为字符串,但是始终有错。其代码片段阅读全文
    posted @ 2011-06-07 10:06 罗敏贵 阅读(267) | 评论 (0) 编辑
     
    摘要: 什么是进程?当一个程序开始运行时,它就是一个进程,进程包括运行中的程序和程序所使用到的内存和系统资源。而一个进程又是由多个线程所组成的。什么是线程?线程是程序中的一个执行流,每个线程都有自己的专有寄存器(栈指针、程序计数器等),但代码区是共享的,即不同的线程可以执行同样的函数。什么是多线程? 多线程是指程序中包含多个执行流,即在一个程序中可以同时运行多个不同的线程来执行不同的任 务,也就是说允许单个程序创建多个并行执行的线程来完成各自的任务。多线程的好处: 可以提高CPU的利用率。在多线程程序中,一个线程必须等待的时候,CPU可以运行其它的线程而不 是等待,这样就大大提高了程序的效率。多线程的阅读全文
    posted @ 2011-05-12 15:07 罗敏贵 阅读(80) | 评论 (0) 编辑
     
    摘要: 引言委托 和 事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易。它们就像是一道槛儿,过了这个槛的人,觉得真是太容易了,而没有过去的人每次见到委托和事件就觉得心里别(biè)得慌,混身不自在。本文中,我将通过两个范例由浅入深地讲述什么是委托、为什么要使用委托、事件的由来、.Net Framework中的委托和事件、委托和事件对Observer设计模式的意义,对它们的中间代码也做了讨论。将方法作为方法的参数我们先不管这个标题如何的绕口,也不管委托究竟是个什么东西,来看下面这两个最简单的方法,它们不过是在屏幕上输出一句问阅读全文
    posted @ 2011-05-03 19:02 罗敏贵 阅读(36) | 评论 (0) 编辑
     
    摘要: 引言在 Part.1 Http请求处理流程 一文中,我们了解了Http请求的处理过程以及其它一些运作原理。我们知道Http管道中有两个可用接口,一个是IHttpHandler,一个是IHttpModule,但在Part.1中,我并没有详细讲述如何对它们进行编程,只是轻描淡写地一笔带过。所谓学以致用,前面已经介绍了不少概念和原理。在本文中,我们通过几个范例来了解 IHttpHandler,看看掌握这些原理的实际用途。IHttpHandler 概述可能和我一样,很多Asp.Net开发人员都有过Asp的背景,以至于我们在开发程序的时候,通常都是在“页面级”上思考,也就是说我们现在正在做的这个页面应该阅读全文
    posted @ 2011-05-03 18:52 罗敏贵 阅读(33) | 评论 (0) 编辑
     
    摘要: Silverlight入门 那么,你如何开始使用Silverlight?第一,花一些时间去找一些讲解 Silverlight 的网站。这些网站包含很多 Silverlight 教程和SDK(包含帮助文档和例子),以及丰富的 Silverlight 视频教程。你应该下载Silverlight SDK,因为它含有大量的帮助文档和快速入门实例,这有利于降低学习难度,并让你迅速了解对XAML和Silverlight概念。阅读全文
    posted @ 2011-04-25 13:46 罗敏贵 阅读(287) | 评论 (1) 编辑
     
    摘要: C# 随机产生常用汉字 先保存以后要用的时候直接拿过来用就可以了。 /// <summary> /// 随机产生常用汉字 /// </summary> /// <param name="count">要产生汉字的个数</param> /// <returns>常用汉字</returns> private List<string> GenerateChineseWords(int count) { List<string> chineseWords = new List<st阅读全文
    posted @ 2011-03-31 15:00 罗敏贵 阅读(56) | 评论 (0) 编辑
     
    摘要: 命名空间: using System.Collections.Generic;C# Dictionary 终极使用方法Dictionary 排序List<KeyValuePair<int, string>> list = new List<KeyValuePair<int, string>>(dic);list.Sort();最近寫案子常常用到List<T>,這個東西還真好用因為它有下列東西:List<T>.Sort() → 排序TList<T>.Find() → 找出一個TList<T>.Fin阅读全文
    posted @ 2011-03-30 16:26 罗敏贵 阅读(43) | 评论 (0) 编辑
     
    摘要: 代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->方法一:private void Button13_Click(object sender, System.EventArgs e) { this.Datagrid4.Visible=true; Response.Clear(); Response.Buffer= true; Response.Charset="GB2312"; Response.AppendHeader阅读全文
    posted @ 2010-08-22 21:53 罗敏贵 阅读(262) | 评论 (0)  编辑
     
    摘要: 效果图:代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><html xmlns="http://www.w3.org/1999/xhtml" ><head runat="server"> <title>_编辑页</title> <script type="text/javascript" src="../js/Off阅读全文
    posted @ 2010-08-09 17:07 罗敏贵 阅读(348) | 评论 (0)  编辑
     
    摘要: 代码阅读全文
    posted @ 2010-07-22 08:41 罗敏贵 阅读(74) | 评论 (0) 编辑
     
    摘要: 代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.IO;namespace U盘更新{ public 阅读全文
    posted @ 2010-06-30 09:28 罗敏贵 阅读(257) | 评论 (0) 编辑
     
    摘要: 1.DateTime  1 DateTime now = System.DateTime.Now;  2 now.ToString(); //显示: 2006/08/30 17:31:02  3 now.ToString("yyyy-mm-dd hh:MM:ss"); //显示: 2006-08-30 05:39:11  4 now.ToString("yyyy-mm-dd HH:mm:ss");...阅读全文
    posted @ 2010-04-15 08:51 罗敏贵 阅读(72) | 评论 (0) 编辑
     
    摘要: comboBox和textBox支持内置的搜索提示功能, 在form的InitializeComponent()中添加如下语句: this.comboBox1.AutoCompleteCustomSource.AddRange(new string[] { "10.152.154.89", "10.152.154.90", "10.152.252.10", "10.152.252.11" });//是将数据添加到搜索范围//默认是None,还有Append,和SuggestAppend属性,除了默认的None都可以阅读全文
    posted @ 2010-03-17 15:31 罗敏贵| 编辑
     
    摘要: SqlBulkCopy是.net2.0的新特性,平时用的很少,但是其功能却是非常强大,对于批量插入数据性能非常优越代码经过1000条数据的对比测试,一般性的循环插入与sqlbulk插入的时间对比为:一般插入:使用时间0.5200008秒使用builk插入:使用时间0.02秒性能非常优越阅读全文
    posted @ 2010-03-11 04:29 罗敏贵 阅读(444) | 评论 (0) 编辑
     
    摘要: 代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->///<summary>///反序列化///</summary>///<paramname="type">对象类型</param>///<paramname="filename">文件路径</param>///<returns></returns>publi阅读全文
    posted @ 2010-03-08 16:55 罗敏贵 阅读(1205) | 评论 (1) 编辑
     
    摘要: 代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->///在使用本例之前要先手动引用system.configration组件,然后建立config文件,config文件名为当前程序文件名的后面加.config比如:a.exe.configusingSystem;usingSystem.Collections.Generic;usingSystem.Text;usingSystem.Configuration;usingSystem.Data;us阅读全文
    posted @ 2010-03-04 14:45 罗敏贵 阅读(122) | 评论 (0) 编辑
     
    摘要: [DllImport("wininet.dll")]privateexternstaticboolInternetGetConnectedState(outintconnectionDescription,intreservedValue);privateboolIsConnected(){intI=0;boolstate=InternetGetConnectedState(outI,0);ret...阅读全文
    posted @ 2010-03-03 23:12 罗敏贵 阅读(174) | 评论 (0) 编辑
     
    摘要: 1. 面向对象的思想主要包括:继承 多态 封装● 封装:用抽象的数据类型将数据和基于数据的操作封装在一起,数据被保护在抽象数据类型内部。● 继承:子类拥有父类的所有数据和操作。● 多态:一个程序中同名的不同方法共存的情况。 有两种形式的多态– 重载与重写。2. 什么是装箱和拆箱装箱(boxing)和拆箱(unboxing)机制使得在C#类型系统中,任何值类型、引用类型和object(对象)类型之间进行转换,这种转换称为绑定连接。简单地说,有了装箱和拆箱的概念,对任何类型的值来说最终都可看作是object类型。 1、装箱转换含义:将一个值类型隐式地转换成一个object类型,或把这个值类型转换成阅读全文
    posted @ 2010-03-03 22:59 罗敏贵 阅读(2455) | 评论 (3) 编辑
     
    摘要: 主要是在实体类中验证using System;namespace Jone.Function.attribute{ /// <summary> /// 附加在数据实体用于描述如何验证合法性 /// </summary> [AttributeUsage(AttributeTargets.Field | AttributeTargets.Property, AllowMultiple = false, Inherited = true)] public sealed class ValidateAttribute : Attribute { private bool _allowNull = tr阅读全文
    posted @ 2010-02-26 13:34 罗敏贵 阅读(143) | 评论 (0) 编辑
     
    摘要: 刚刚去了一家公司面试,他们让我上机做一个类似计划任务的模块,在配置文件里写要执行的时间,让程序定时执行。1.建立配置文件App.config<?xml version="1.0" encoding="utf-8" ?><configuration> <appSettings> <!--设定每月执行计划任务的日期,先设定每月的16号,17号,25号执行--&...阅读全文
    posted @ 2010-02-08 16:21 罗敏贵 阅读(284) | 评论 (0) 编辑
     
    摘要: 本文摘自人民邮电出版社出版的《Windows Forms程序设计》(Chris Sells著,荣耀、蒋贤哲译)。 通过一个栩栩如生的虚构故事解释了C#/.NET中委托和事件的机制和应用。 1 委托 从前,在南方的一个异国他乡,有一个叫Peter的勤劳的工人,他对老板(boss)百依百顺,然而他的boss却是个卑鄙多疑的家伙,他坚持要求Peter不断汇报工作进展。由于Peter不希望被boss盯着干活,于是他向boss承诺随时汇报工作进度。Peter通过如下所示的类型化的引用(typed reference)定期回调boss来实现这个承诺: class Worker { public void 阅读全文
    posted @ 2008-12-10 09:08 罗敏贵 阅读(12) | 评论 (0) 编辑
     
    摘要: 昨天晚上看MSDN看见的一段通过使用SetClassLong函数使窗口下面拥有一个阴影效果,研究代码找资料弄了半个小时把它运用在了C#2.0上,特此一贴。由于我使用的方法是调用系统API,所以在引用声明这块要加上一句:using System.Runtime.InteropServices;然后再窗口类的随便哪个地方加上:const int CS_DROPSHADOW = 0x20000;const int GCL_STYLE = (-26);//声明Win32 API[DllImport("user32.dll", CharSet = CharSet.Auto)]public static 阅读全文
    posted @ 2008-11-11 10:43 罗敏贵 阅读(22) | 评论 (0) 编辑
     
    摘要: /// /// 开启SQL Server服务 /// public static void ProSQLServer() { Process pro = new Process(); pro.StartInfo.FileName = "cmd.exe"; pro.StartInfo.UseShellExecute = false; pro.StartInfo.RedirectStandardInput = true; pro.StartInfo.RedirectStandardOutput = true; pro.StartInfo.RedirectStandardError = true阅读全文
    posted @ 2008-11-07 10:54 罗敏贵 阅读(8) | 评论 (0) 编辑
  • 相关阅读:
    ASP.NET 表单验证 Part.1(理解表单验证)
    Silverlight 简介 Part.3(设计 Siverlight 页面)
    ASP.NET 成员资格 Part.3(LoginStatus、LoginView、PasswordRecovery)
    ASP.NET 网站部署 Part.1(安装IIS、复制文件部署网站)
    ASP.NET Dynamic Data Part.1(创建动态数据应用程序)
    ASP.NET 安全模型 Part.2(SSL)
    ASP.NET MVC Part.2(扩展基本的 MVC 应用程序)
    ASP.NET 网站部署 Part.2(使用 Web 部署)
    开发高级 Web 部件
    创建 Web 部件(WebPart 类、简单的 Web 部件)
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/2438152.html
Copyright © 2011-2022 走看看