Welcome 微信登录

首页 / 软件开发 / .NET编程技术

SharpMap学习(2)

SharpMap学习(2)

SharpMap学习(2)2011-11-06 博客园 GodSpeed在经过第一篇的简单学习之后,我们开始了解一些稍微有点儿意思的东西,进一步掌握和学习利用 sharpmap进行开发的技巧。这次,我们主要是跟大家一起学习一下如何根据地图上的一个点,来查询这个点所在的对象的信息, 并显示到点击的位置。这非常有用,比如说一个想把一个房子显示在地图上,我们用鼠标一点,便知道这 个房子里住的什么人,干什么的,以及其它相关信息。同样的,我们还是使用sharpmap...
SharpMap学习(3)

SharpMap学习(3)

SharpMap学习(3)2011-11-06 博客园 GodSpeed我写的东西内容浅显,希望能给初学者一些帮助。至于深入研究sharpmap和GIS技术的大牛,请不吝赐 教,给我们这些菜鸟多一些指导。今天我们接着来聊sharpmap的基本使用技巧,根据attribute来填充地图对象的颜色,让用户更清晰的 看到重点的业务对象对应在地图上的表示,以及如何自定义label层的显示内容,字体的大小等。所以,今 天的主题主要是自定义:自定义theme,自定义l...
WinForm控件开发总结(一) 开篇

WinForm控件开发总结(一) 开篇

WinForm控件开发总结(一) 开篇2011-11-14 博客园 纶巾客我本人不是专业的控件开发人员,只是在平常的工作中,需要自己开发一些控件。在自己开发WinForm 控件的时候,没有太多可以借鉴的资料,只能盯着MSDN使劲看,还好总算有些收获。现在我会把这些经验 陆陆续续的总结出来,写成一系列方章,希望对看到的朋友有所帮助。今天我来开个头。其实开发WinForm控件并不是很复杂,.NET为我们提供了丰富的底层支持。如果你有MFC或者API图形界 面的...
WinForm控件开发总结(二) 使用和调试自定义控件

WinForm控件开发总结(二) 使用和调试自定义控件

WinForm控件开发总结(二) 使用和调试自定义控件2011-11-14 博客园 纶巾客在上一篇文章里我们创建了一个简单的控件FirstControl,现在我来介绍一下怎么使用和调试自己的 控件。我希望将过程写的尽可能的详细,让想学习控件开发的朋友容易上手,高手们见谅。在同一个solution里添加一个Windows Application工程(在Solution Explorer里右键点击 CustomControlSample solution选择A...
WinForm控件开发总结(三) 认识WinForm控件常用的Attribute

WinForm控件开发总结(三) 认识WinForm控件常用的Attribute

WinForm控件开发总结(三) 认识WinForm控件常用的Attribute2011-11-14 博客园 纶巾客在前面的文章里我们制作了一个非常简单的控件。现在我们回过头来看看这些代码透露出什么信息。这个类是直接从Control类派生出来的,自定义控件都是直接从Control类派生出来的。这个类定义了 一个属性TextAlignment,用来控制文本在控件中显示的位置: [ Category("Alignment...
WinForm控件开发总结(五) 为控件的复杂属性提供类型转换器

WinForm控件开发总结(五) 为控件的复杂属性提供类型转换器

WinForm控件开发总结(五) 为控件的复杂属性提供类型转换器2011-11-14 博客园 纶巾客上一篇文章我已经介绍了TypeConverterAttribute元数据的作用,本文将通过代码向你展示具体的实 现。在这个例子中,我要给控件添加一个复杂的属性,这个属性对这个控件没有什么功用,纯粹是为了演 示,有些牵强附会了。现在在前一篇文章中的创建的控件代码中添加一个Scope属性: [Browsable(true)] publ...
WinForm控件开发总结(六) 控件属性类型转换器代码详解

WinForm控件开发总结(六) 控件属性类型转换器代码详解

WinForm控件开发总结(六) 控件属性类型转换器代码详解2011-11-14 博客园 纶巾客在上一篇文章,我为控件添加一个一个复杂属性,并且为这个属性的类型的编写了一个类型转换器, 现在我们来看看这个类型转换器的代码,并解释一下这些代码的意义。要实现一个类型转换器,我们必须要重写(override)四个方法:CanConvertFrom()――根据类型参数进行测试,判断是否能从这个类型转换成当前类型,在本例中我 们只提供转换string和Instanc...
WinForm控件开发总结(八) 为属性提供弹出式编辑对话框

WinForm控件开发总结(八) 为属性提供弹出式编辑对话框

WinForm控件开发总结(八) 为属性提供弹出式编辑对话框2011-11-14 博客园 纶巾客前几篇文章我们一直在讨论如何更方便的编辑复杂类型的属性,在这个过程中我介绍了类型转换器以 及如何制作自己的类型转换器来实现属性值的串行化和实现子属性的编辑。对于Scope这种级别的复杂属 性,一个类型转换器就已经足够了,但是对于更为复杂的属性,单单使用类型转换器已经不足以应付了, 比如我们常用的Font属性。在这种情况下,我们就需要提供更为复杂的编辑方式,比如属...
WinForm控件开发总结(七) 为复杂属性的子属性提供编辑功能

WinForm控件开发总结(七) 为复杂属性的子属性提供编辑功能

WinForm控件开发总结(七) 为复杂属性的子属性提供编辑功能2011-11-14 博客园 纶巾客前面的几篇文章中,我们给控件添加一个复杂的类型Scope,并且给它的类型提供的一个类型转换器, 现在我们可以在属性浏览器中编辑它的值,并且它的值也被串行化的源代码里了。但是你有没有发现,在 属性浏览器里编辑这个属性的值还是不太方便。因为属性只是“10,200”这种形式的,所以,你必须按 照这种格式来修改,一旦格式错误就会引发异常,比如...
WinForm控件开发总结(九) 为属性提下拉式属性编辑器

WinForm控件开发总结(九) 为属性提下拉式属性编辑器

WinForm控件开发总结(九) 为属性提下拉式属性编辑器2011-11-14 博客园 纶巾客在上一篇文章,我介绍了如何编写模态对话框属性编辑器,这篇文章我将介绍如何编写下拉式属性编 辑器。下拉式(DropDown)属性编辑器和模态对话框属性编辑器的不同之处就是,当你点击属性值修改的 时候,模态对话框编辑器是弹出一个模态对话框,而下拉式属性编辑器却是在紧贴着属性值的地方显示一 个下拉的控件。不知道大家注意到了没有,这里我说的是显示一个下拉的控件,而这个控件...
WinForm控件开发总结(十) 为属性设置默认值

WinForm控件开发总结(十) 为属性设置默认值

WinForm控件开发总结(十) 为属性设置默认值2011-11-14 博客园 纶巾客本系列的前面几篇文章讲解了如何来定义属性以及更有效的编辑属性,接下来我要讲一下控件属性的默 认值。如果我们希望自己开发的控件更易于被其它开发者使用,那么提供默认值是非常值得的。如果你为属性设定了默认值,那么当开发者修改了属性的值,这个值在Property Explorer中将会以粗 体显示。VS为属性提供一个上下文菜单,允许程序员使用控件把值重置为默认值。当VS进行控件的...
WinForm控件开发总结(十一) 调试控件的设计时行为

WinForm控件开发总结(十一) 调试控件的设计时行为

WinForm控件开发总结(十一) 调试控件的设计时行为2011-11-14 博客园 纶巾客前面的一些文章绝大部分都是要讲控件的设计时的行为,既然涉及到这么多的设计时行为的代码编写 ,那么就有必要就一下如何来调试控件的设计行为。调试控件的设计时行为和调试DLL的方式非常的相似,因为DLL是不能够单独运行的,而一般的控件也 会在一个DLL里。当然如果你不考虑类的可复用性而把控件写在一个Windows Application里面也无可厚非 ,这样调试倒也变的简...
WinForm控件开发总结(十二) 让控件处理导航键

WinForm控件开发总结(十二) 让控件处理导航键

WinForm控件开发总结(十二) 让控件处理导航键2011-11-14 博客园 纶巾客最近真的真的太忙了,以至于一个多月都没哟更新我的blog。昨天晚上,一个网上的朋友看了我的 ToolBox的文章,问我一个问题,他说如何让ToolBox控件也能响应键盘操作,也就是用Up,down按键来选 择工具箱控件里的Item,他添加了键盘事件,但是不起作用。一开始做这个控件的时候也只是演示一下控 件的制作过程,只用了很短的时间做了一个,只考虑了用鼠标选取,没有考虑...
CLR完全介绍: .NET的内部诊断工具

CLR完全介绍: .NET的内部诊断工具

CLR完全介绍: .NET的内部诊断工具2011-11-14 msdn Jonathan Keljo很多诊断工具都需要使用 CLR 分析 API,甚至包括那些在严格意义上讲不是探查器的工具。因此,如 果您曾经想知道这些工具是如何工作的,那么,了解 API 的分析会是个良好的开端。在本专栏中,您将 看到它们是如何工作的,并了解一些有用的提示和技巧。您还将在“其他分析资源”侧栏内找 到一些基本的资源。若要使用 CLR 分析 API,需要...
.NET相关问题: 事件存取器

.NET相关问题: 事件存取器

.NET相关问题: 事件存取器2011-11-14 msdn Stephen Toub问:C# 使得在类上创建事件变得更为简单,只需将关键字“event”添加到委托成员变量 声明中即可。但是,它也允许使用类似属性的语法,可以显式地实现事件的 add 存取器和 remove 存取 器。 这样做的原因是什么?我只是重新创建 C# 编译器为我生成的同一代码,始终这样做不可以吗?问:C# 使得在类上创建事件变得更为简单,只需将关键字&ldq...
基于WCF的通道网络传输数据压缩技术的应用研究

基于WCF的通道网络传输数据压缩技术的应用研究

基于WCF的通道网络传输数据压缩技术的应用研究2011-11-14 博客园 ξ箫音ξ本文及程序不是介绍WCF怎么用,而是研究如何在WCF通信时的通道两端自动进行数据压缩和解压缩, 从而增加分布式数据传输速度。而且,这个过程是完全透明的,用户及编程人员根本不需要知道它的存在,相当于HOOK在两端的一个 组件。可以使用中网络带宽较小的网络环境中。当WCF在两个实体间通讯的时候,便自动创建一个信息通道转接通讯,这个消息包含数 据请求和相应。WCF使用特殊的编码器...
.Net Cancellable Task - APM异步超时机制扩展

.Net Cancellable Task - APM异步超时机制扩展

.Net Cancellable Task - APM异步超时机制扩展2011-11-14概述.NET基于委托的APM(Asynchronous Programming Model)模型通过BeginInvoke, EndInvoke, AsyncCallback,IAsyncResult的组合使用,让程序员可以方便的进行异步调用、异步回调和同步等待等操作。但.NET平台还没有为线程的中止(abort)提供安全可靠的机制,也许正是基于这个原因APM并没有包...
<< 81 82 83 84 85 86 87 88 89 90 >>