Welcome 微信登录

首页 / 软件开发 / C#

也谈鹰眼(AE+C#)

也谈鹰眼(AE+C#)

也谈鹰眼(AE+C#)2011-07-27 博客园 张亚最近,看到打听鹰眼问题的朋友特别多。AE+C#的鹰眼在网上代码已经很多了,我今天也放一个版本上 来,主要有以下几个功能:1.主地图窗口视图范围改变后,鹰眼窗口绘制一个红色的框显示当前区域;2.主地图比例尺发生改变后,鹰眼地图的比例尺也发生改变,只是改变的程度将小而已;(这和网上其 它代码不同,借鉴google地图鹰眼的显示效果)3.在鹰眼地图上,用鼠标左键可以移动红色的区域框,松开鼠标后,主窗口地图视...
为List添加排序的函数处理并列排名情况(上篇)

为List添加排序的函数处理并列排名情况(上篇)

为List添加排序的函数处理并列排名情况(上篇)2011-07-27 博客园 陈亮今天.做了个排名显示的功能. 需要处理并列的情况.. 首先相到了 SQL SERVER2005 的的Rank 函数 ..后来想是否可以为List<T> 实现一个扩展方法 实现并列排名..想了想 可以实现 .. 有这个想法就来实现吧..我的想法是 List<T> 调用Rank方法后 T类型就多了个属性 用来获取 名次..但是怎么为T类型动态添加属...
为List添加排序的函数 处理并列排名情况(下篇)

为List添加排序的函数 处理并列排名情况(下篇)

为List添加排序的函数 处理并列排名情况(下篇)2011-07-27 博客园 陈亮在上篇文章中 我们完成了动态创建类型、动态设置值、动态获取值、动态获取属性和返回值的一些方 法准备工作完成了.. 我们现在来完成排序的功能实现方式肯定还是扩展方法..实现比较2个值的方法 我们可以给用户提供. 我们不提供比较的方法 这样设计灵活性更好..用户提供方法?? 怎么实现 很简单 2种方式 一种使用接口.. 另外一种使用的是委托..我比较喜欢委托 我就使用委...
一个简单的多线程即时通讯程序(类似QQ,MSN)

一个简单的多线程即时通讯程序(类似QQ,MSN)

一个简单的多线程即时通讯程序(类似QQ,MSN)2011-07-27 木子博客 本文实现一个简单的多线程客户/服务器即时通讯应用程序,它将使用TCP连接。允许客户之间及客户 和服务器之间,个人消息与会议通信。最终目标是实现象雅虎/msn这样的即时通讯工具。[库]我创建一个ChatLibrary,它包含命令及可以着色的消息。public enum Command{Login = 0,PersonalMessage = 1,ClientList = 2,Con...
与动态执行的C#代码进行通讯

与动态执行的C#代码进行通讯

与动态执行的C#代码进行通讯2011-07-27 博客园 xiaotie1、简介能够动态执行 C# 代码是一件很酷的功能,比如,我们可以在控制台中输入一行 C# 代码,然后程序 自动编译并执行这一行代码,将结果显示给我们。这差不多就是一个最简单的 C# 代码解释器了。动态执行 C# 代码又是一件很有用的功能,比如,我们可以将某些代码写在某个文件之中,由程序集 在执行时进行加载,改变这些代码不用中止程序,当程序再次加载这些代码时,就自动执行的是新代码了 。下...
C#代码文件生成扩展代码文件

C#代码文件生成扩展代码文件

C#代码文件生成扩展代码文件2011-07-27 cnblogs henry看到这标题的朋友可能搞不懂到底在搞什么,不过不要紧有兴趣的朋友可以先了解一下 IVsSingleFileGenerator到底是用来做什么用的《实现自定义的VsSingleFileGenerator 》;在vs.net里 提供一个IVsSingleFileGenerator接口可以方便地为项目文件生成附属文件,如刚才那文章提到的根据XML 文件自动生成一个附属的C#代码文件;当然这...
扩展方法(1) DataTable和List相互转换

扩展方法(1) DataTable和List相互转换

扩展方法(1) DataTable和List相互转换2011-07-27 博客园 陈亮最近自从公司的开发环境改了.从VS2003 改到VS2008 后 用了C# 3.0 的新东西,自己积累的方法就慢 慢的多起来了.由于经常使用以前经常DataTable 现在都使用List<T>就此需要经常转换..用的多了,自然需要 写个简单的方法来实现互相转换由于C#3.0出现了扩展方法 我们可以通过这样一个特性来简化我们的开发.DataTable 转换为L...
扩展方法(2) GridView单元格合并

扩展方法(2) GridView单元格合并

扩展方法(2) GridView单元格合并2011-07-27 博客园 陈亮大家GridView都用的比较多吧..有没遇到单元格需要合并的需求..单元格合并原理其实很简单,就是逐行判断要合并的单元格里的值是否和上一行的相同,要是相同的 话就合并,不同的话就接着判断我们可以通过扩展方法为GridView添加单元合并 public static class GridViewExtensions { /// <summary>...
通过编程管理windows 防火墙

通过编程管理windows 防火墙

通过编程管理windows 防火墙2011-07-27肖波最近项目中需要通过程序自动设置windows 防火墙,查了一下资料,可以通过命令行netsh firewall 来实现。封装了一个类来实现对允许放开的程序(Allowed program)进行管理。管理其他内容比如放开端 口等方法是类似的。程序中用到一个公共类 RunProcess,这个类可从我的另一篇文章 一个C#写的调用外部进程类 获得namespace WinFirewall{ publi...
使用Visual Studio生成安装程序并设定连接字符串及其他自定义操作

使用Visual Studio生成安装程序并设定连接字符串及其他自定义操作

使用Visual Studio生成安装程序并设定连接字符串及其他自定义操作2011-07-27 博客园 武广敬应该很多人都有遇到这个问题.现在给个完整的解决方案.1.添加一个安装项目(当然你的其他项目应该都已经OK了.现在我们已经做好了一个WinUI的项目.记得 要建立App.config文件,而且要有连接字符串的配置节存在.不然之后会出错.因为我没做错误处理.)目前的App.config文件内容,connectionString值为空,需要用户在安装时输...
用DataReader分页与几种传统的分页方法的比较

用DataReader分页与几种传统的分页方法的比较

用DataReader分页与几种传统的分页方法的比较2011-07-31肖波对于数据库的分页,目前比较传统的方法是采用分页存储过程,其实用 DataReader 也可以实现分页 ,不需要写存储过程,实现效率上也比几种比较流行的分页方法要略快。在开始这个方法之前,让我们先创建一个简单的测试环境:use TestGOif exists (select * from sysobjects where id = object_id("R_Student") and...
隐藏接口实现及ReadOnlyDictionary

隐藏接口实现及ReadOnlyDictionary

隐藏接口实现及ReadOnlyDictionary2011-07-31 博客园 Anders Liu接口代表着一种契约。但有的时候,接口所达成的契约并不适用于全部的场景,或者说,接口可能定 义得“太宽了”。这个时候,就有必要隐藏起某些接口成员。然而,接口既然是一种“契约”,这就要求实现方必须为接口中的所有成员提供实现。所以,这里说 到的“隐藏”,是指从对象的视角上隐藏。换言之,就是只有...
在C#中如何创建和调用DLL

在C#中如何创建和调用DLL

在C#中如何创建和调用DLL2011-07-31一、写在前面C# 语言是一种简单但功能强大的编程语言,用于编写企业应用程序。C# 语言从C和C++语言演化而来,在语句、表达式和运算符方面使用了许多C++ 功能。C# 语言在类型安全性、版本转换、事件和垃圾回收等方面进行了相当大的改进和创新。C# 语言提供对常用API 样式(如 .NET 框架、COM、自动化和 C 样式 API 等)的访问。和大多数程序员一样,你一定使用过DLL。也一定曾感受到它的带给你程序...
C#生成缩略图控件

C#生成缩略图控件

C#生成缩略图控件2011-07-31 博客园 程序执着追随者实现原理:1、我们现在要做的是自定义Web控件,这和平常设计aspx网页或者用户控件有本质区别,自定义控件 是一个派生自System.Web.WebControls.WebControl的类,它是一个类,而不是你想象中的HTML代码,甚 至在自定义控件中你完全找不到HTMl的任何风格。因此,你必须对类的编写设计非常数量,或者是,跳出 设计HTML的圈子,拓展思维!2、我们要实现不依靠文件系统、不...
C#算法之基于无锁的C#并发队列实现

C#算法之基于无锁的C#并发队列实现

C#算法之基于无锁的C#并发队列实现2011-07-31在路上的牛最近开始学习无锁编程,和传统的基于Lock的算法相比,无锁编程具有其独特的优点,Angel Lucifer 的关于无锁编程一文对此有详细的描述。无锁编程的目标是在不使用Lock的前提下保证并发过程中共享数据的一致性,其主要的实现基础是CAS 操作,也就是compare_and_swap,通过处理器提供的指令,可以原子地更新共享数据,并同时监测其他线 程的干扰,.Net中的对应实现是Inter...
C#中的abstract与virtual

C#中的abstract与virtual

C#中的abstract与virtual2011-07-31abstractabstract 修饰符可以和类、方法、属性、索引器及事件一起使用。在类声明中使用 abstract 修饰符以指示类只能是其他类的基类。抽象类具有以下特性:·抽象类不能实例化。·抽象类可以包含抽象方法和抽象访问器。·不能用 sealed 修饰符修改抽象类,这意味着该类不能被继承。·从抽象类派生的非抽象类必须包括继承的所有抽象方...
<< 81 82 83 84 85 86 87 88 89 90 >>