Welcome 微信登录

首页 / 软件开发 / C#

C#拖放技术的典型应用

C#拖放技术的典型应用

C#拖放技术的典型应用2010-03-04在应用程序中,有时用户希望将数据从一个控件中拖到另一个控件中,此时就需要用到拖放技术。程序开发步骤:(1)新建一个窗体,在窗体中添加两个Label控件和两个TextBox控件,并将两个TextBox控件分别命名为txtDataTart和txtScoure。(2)将txtDataTart文本框的AllowDrop属性设置为true。(3)程序主要代码如下。private void txtDataTart_DragDr...
我的Design Pattern之旅[2]:Template Method Pattern(OO)

我的Design Pattern之旅[2]:Template Method Pattern(OO)

我的Design Pattern之旅[2]:Template Method Pattern(OO)2010-03-29 cnblogs Abstracttemplate method pattern是我学到第二个pattern,算是一个很容易理解的pattern,但却非常的实用。Intent对於operation,只先定义好演算法的轮廓,某些步骤则留给子类别去填补,以便在不改变演算法整体架构的情况下让子类别去精链某些步骤。其UML表示法在实务上,我们可能本...
我的Design Pattern之旅[5]:Facade Pattern(OO)

我的Design Pattern之旅[5]:Facade Pattern(OO)

我的Design Pattern之旅[5]:Facade Pattern(OO)2010-03-29 cnblogs Intent替子系统里的一堆介面定义一套统一的高阶介面,让子系统更易使用。IntroductionFacade常用在两个地方,第一种用法是将原来程序导向的系统,利用Facade包成OO,如MFC包装Win32 API,第二种用法是将原来复杂的OO系统,再包成更简单的OO,如.NET Enterprise Library将.NET Frame...
我的Design Pattern之旅[6]:Adapter Pattern(OO)

我的Design Pattern之旅[6]:Adapter Pattern(OO)

我的Design Pattern之旅[6]:Adapter Pattern(OO)2010-03-29 cnblogs Abstract在OO設計裡,我們常會定下interface要求其他class必須實現此interface,以便彼此溝通,若是新開發的專案,問題就不大;若既有的framework/library中,已經有符合需求的class,但唯一可惜的是,『因為interface並不相同』,導致無法和我的class合作,此時可使用Adpater Pat...
c#扩展方法奇思妙用高级篇二:Aggregate扩展其改进

c#扩展方法奇思妙用高级篇二:Aggregate扩展其改进

c#扩展方法奇思妙用高级篇二:Aggregate扩展其改进2010-04-23 博客园 鹤冲天Enumerable.Aggregate 扩展方法在System.Linq命名空间中,是Enumerable类的第一个方法(按字母顺序排名),但确是Enumerable里面相对复杂的方法。MSDN对它的说明是:对序列应用累加器函数。备注中还有一些说明,大意是这个方法比较复杂,一般情况下用Sum、Max、Min、Average就可以了。看看下面的代码,有了Sum,谁...
c#扩展方法奇思妙用高级篇四:对扩展进行分组管理

c#扩展方法奇思妙用高级篇四:对扩展进行分组管理

c#扩展方法奇思妙用高级篇四:对扩展进行分组管理2010-04-23 博客园 鹤冲天从系列文章开篇到现在,已经实现的很多扩展了,但过多的扩展会给我们带来很多麻烦,试看下图:面对这么多“泛滥”的扩展,很多人都会感到很别扭,的确有种“喧宾夺主”的感觉,想从中找出真正想用的方法来太难了!尽管经过扩展后的string类很“强大”,但易用性确很差。很多人因此感觉扩展应适可而止,不该再继续下去.....
c#扩展方法奇思妙用高级篇八:Type类扩展

c#扩展方法奇思妙用高级篇八:Type类扩展

c#扩展方法奇思妙用高级篇八:Type类扩展2010-04-23 博客园 鹤冲天Type 类提供了大量的属性和方法,但在一些基础性开发工作中,Type类功能还有些欠缺,尤其上在处理泛型类型时,如可空类型和泛型集合类型。下面的类就针对这些地方进行扩展。1 public static class TypeHelper2 {3 public static bool IsNullableType(this Type type)4 {5 return...
<< 31 32 33 34 35 36 37 38 39 40 >>