摘要: 原文链接:http://www.cothink.cn/html/2011-12/83.html实现DataGridView控件中验证数据输入功能主要是利用DataGridView控件的公共事件CellValidating和CellEndEdit事件在为当前选定的单元格停止编辑模式时发生。本实例判断控件第一列中单元格的值是否为空。在CellValidating事件中进行验证,如果严重失败,将System.Windows.Forms.DataGridViewCellValidatingEventArgs类的Cancel属性设置为True。这将导致DataGridView控件阻止光标离开该单元格。将 阅读全文
posted @ 2012-04-22 16:07 太一吾鱼水 阅读(2032) 评论(0) 推荐(0) 编辑
摘要: 原文链接:http://www.cnblogs.com/clark159/archive/2011/10/10/2205156.html前言 : 一般使用 BindingSource做 Data Binding的工作,不管是用 ADO.NET对象或是自定义数据对象当作数据源。运作流程大多类似1.读取数据并将数据填写进 DataSet(or BindingList)2.将DataSet(or BindingList)系结至BindingSource3.画面Control触发事件时,操作数据库(or 集合)变更数据,并且操作BindingSource显示数据。这样的运作流程,因为靠画面Contro 阅读全文
posted @ 2012-04-20 10:14 太一吾鱼水 阅读(1345) 评论(0) 推荐(0) 编辑
摘要: 原文链接:http://www.cnblogs.com/clark159/archive/2011/10/10/2205149.html前言 : 在文章「[.NET] : BindingSource使用模式 - 连动式下拉选单 (纯IDE开发)」。介绍了如何单纯使用Visual Studio的IDE来开发连动式下拉选单。用IDE开发的模式,可以快速建立项目所需的用户接口。但是当我们需要对细节有更高的掌控时,这开发模式会越来越不敷使用。这时就需要改用程序代码开发的模式,来做 Data Binding的开发设计。本篇文章简略介绍,几个设计开发 Data Binding用到的对象。让软件开发人员在设 阅读全文
posted @ 2012-04-20 10:04 太一吾鱼水 阅读(232) 评论(0) 推荐(0) 编辑
摘要: http://www.cnblogs.com/clark159/archive/2011/10/10/2205153.html前言 : 在文章「[.NET] : BindingSource使用模式 - Data Binding基础知识 (一)」。介绍了如何将对象的属性包装成属性对象 「PropertyDescriptor」,并用它来做存取、监看变更等工作。将数据对象的属性包装成属性对象是 Data Binding运作基础,在了解这个运作之后。这边再来讨论,Data Binding时会用到的「数据源」。在大部分的书里描述,Data Binding透过 ADO.NET里的对象与数据库做互动,用来显 阅读全文
posted @ 2012-04-20 10:01 太一吾鱼水 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 刚开始用C#编程就开始考虑让弹出窗体唯一的情况。点击按钮,弹出窗体只显示一个,不重复显示。考虑了单例模式,但是使用中出现问题就没有继续弄下去。当时的问题是:窗体关闭之后,资源就被释放了,第4句判断的代码返回值为false,这样返回的from对象就会报错。让我很烦恼。1 private static FrmDrill aForm = null;2 public static FrmDrill Instance()3 {4 if (aForm == null)5 {6 aForm = ... 阅读全文
posted @ 2012-04-19 09:46 太一吾鱼水 阅读(549) 评论(1) 推荐(0) 编辑
摘要: 代理模式顾名思义是让别代替你去做一件事情。既然让别人代理当然别人需要你的信息了,不然怎么代理?具体做代理帮你完成了!比如你让别人帮你订购火车票,你得告诉别人你的姓名,身份证号码吧,现在实名制了吗!委托类似于代理模式! 阅读全文
posted @ 2012-04-19 08:30 太一吾鱼水 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 这两个模式很简单 阅读全文
posted @ 2012-04-19 08:30 太一吾鱼水 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 希望实现窗体的可折叠!像ArcToolBox中的窗体一下,点击显示帮助,窗体显示,点击收缩,窗体折叠。窗体部件:Panel控件,CheckBox控件将Panel控件布置到窗体的右面,停靠在FormLoad事件中输入下面代码: panel1.Visible = false; this.Width = this.Width - panel1.Width;在checkBox的CheckedOnChange事件中输入下面代码:private void checkBox1_CheckedChanged(object sender, EventArgs e) { pan... 阅读全文
posted @ 2012-04-18 16:12 太一吾鱼水 阅读(333) 评论(0) 推荐(0) 编辑
摘要: 前一段时间分析了MapControl和PageLayoutControl同步的一些问题,自己也根据原来的思路做了一些工作,但是存在的一个很大的问题就是,对于多文档程序,获取axPageLayoutControl1.ActiveView.FocusMap直接传递给axMapControl1时屏幕刷新老是出问题。如果对axPageLayoutControl1中的MapFrame操作过于频繁还会出现“内存损坏”的报错。感觉应该是让axPageLayoutControl1和axMapControl1共用一个IMap出了问题。不能共用一个IMap,那就只能通过拷贝的方式了。查了兰小机的书,还真的这么.. 阅读全文
posted @ 2012-04-09 16:35 太一吾鱼水 阅读(1364) 评论(1) 推荐(1) 编辑
摘要: 给DataGridView更新数据源,采用手动方式,即首先设置手工添加不同的DataGridViewColumn。将各列DataPropertyName属性设置成数据源,就是数据库的列名或者对象名。dataGridView1.AutoGenerateColumns = false;DataGridViewComboBoxCell 设置的复杂一些,要设置下拉选项。参考http://technet.microsoft.com/zh-cn/library/ms404353DataGridViewComboBoxColumn assignedToColumn = new Dat... 阅读全文
posted @ 2012-04-07 19:18 太一吾鱼水 阅读(450) 评论(0) 推荐(0) 编辑
摘要: 原文链接:http://www.cnblogs.com/passos/archive/2004/10/10/50652.html三、插件系统 上回书说到SharpDevelop入口Main函数的结构,ServiceManager.Service在InitializeServicesSubsystem方法中首次调用了AddInTreeSingleton的AddInTree实例,AddInTree在这里进行了初始化。本回进入AddInTree着重讲述SharpDevelop的插件系统。在叙述的时候为了方便起见,对于“插件”和插件具体的“功能模块”这两个词不会特别的区分,各位看官可以从上下文分辨具体 阅读全文
posted @ 2012-04-06 14:20 太一吾鱼水 阅读(251) 评论(0) 推荐(0) 编辑
摘要: SharpDevelop源码分析 (二、主程序+隐藏的初始化) http://www.cnblogs.com/passos/archive/2004/10/07/49654.html 在大学课程里面,我对于模拟电路总是搞不清楚,直到现在也是这样。我总觉得电路图很奇怪,总会问“这部分电路是做什么用的”、“为什么会有这样的效果”。在我的脑海里面,每部分的电路都应该有一定的用处,可是我总是看不明白。我妈妈说,我的思路被软件所固化的太久了,看电路图不应该总是一个个模块的看,正确的方法应该是从电源的一极顺着电路看,一直看到电源的另一极。我现在仍然不懂看电路图,可是以我看代码的经验来说,我觉得分析源代码按 阅读全文
posted @ 2012-04-06 14:19 太一吾鱼水 阅读(237) 评论(0) 推荐(0) 编辑
摘要: 【转载】SharpDevelop代码分析1. 序+基本概念 :http://www.cnblogs.com/passos/archive/2004/10/04/48950.html2.主程序和隐藏的初始化:http://www.cnblogs.com/passos/archive/2004/10/07/49654.html3.插件系统:http://www.cnblogs.com/passos/archive/2004/10/10/50652.html4.SharpDevelop的AddInTreeView:http://www.cnblogs.com/passos/archive/2004/ 阅读全文
posted @ 2012-04-06 14:18 太一吾鱼水 阅读(230) 评论(0) 推荐(0) 编辑
摘要: SharpMap项目Web控件学习!想学习网络方面的开发,但是发现很多底层的东西知道的太少。何止是网络方面的知道的太少?对于GIS的基本知识,最简单的桌面GIS系统自己都没有做出来一个,何谈对于底层的理解?所以觉得有必要学习一下底层的知识,对于自己也是一种提高!SharpMap这个开源项目真的是很好的学习材料了!首先看看SharpMap的Web控件包含了三个文件:AjaxMap.js,AjaxMapControl.cs,AjaxMapControlDesigner.cs。AjaxMap.js顾名思义是Javascript脚本了,实现了富客户端的功能。AjaxMapControl.cs是控件的显 阅读全文
posted @ 2012-04-06 09:00 太一吾鱼水 阅读(530) 评论(1) 推荐(0) 编辑
摘要: 仅是一点考虑,不成熟也不足为借鉴?希望大家参与讨论。 在创建数据库的时候经常遇到实体之间存在继承关系。 对于简单的继承在处理的时候往往不考虑这一点,最常见的就是人员信息管理,以教学管理系统为例,并不抽象出人,而是直接将学生、教师作为不同的实体。同时也不区分出男人和女人。 然而在有些地方,不考虑实体间的继承关系则会带来信息的冗余。比如煤矿地质信息中钻孔、见煤点和夹矸三类数据之间存在着继承关系,钻孔数据具有坐标位置;煤矿设备设施管理数据库中采购设备信息(库存设备)与正在运行设备、检修设备、报废设备存在继承关系,而正在运行设备则具有空间位置信息。这是两类很典型的情况。后者更为复杂,设备存在... 阅读全文
posted @ 2012-04-04 09:00 太一吾鱼水 阅读(463) 评论(2) 推荐(0) 编辑
摘要: 今天希望用自己编的编辑模块编辑一下Geodatabase中的要素图层,因为属性编辑框用的是一个CommandClass所以自己以为应该没有问题,应该可以显示关联关系信息。但是点击几下要素都没有显示属性内容,点多了窗体就自动消失!很是莫名!难道是ArcEngine没封装好? 找了资料,原来是这样:DescriptionThe CLSID of thiscommandis:{A554ADBC-D0DD-469A-8A95-B4CEED0794C3}.This command works with the ToolbarControl, PageLayoutControland MapCont... 阅读全文
posted @ 2012-04-03 18:50 太一吾鱼水 阅读(1077) 评论(4) 推荐(0) 编辑
摘要: http://bbs.esrichina-bj.cn/ESRI/viewthread.php?tid=15012&extra=page%3D2本例实现的是如何将地图中的一个FeatureLayer的属性表与另一个数据文件建立连接。l 要点首先需要定义两个ITable接口对象,分别用来获得地图中的属性表和需要连接的数据文件,再通过IMemoryRelationshipClassFactory.Open方法将两个ITable接口对象根据某个关键字段建立连接,最后使用IDisplayRelationshipClass.DisplayRelationshipClass方法将显示该连接主要用到I 阅读全文
posted @ 2012-04-03 11:06 太一吾鱼水 阅读(1457) 评论(0) 推荐(0) 编辑
摘要: 思考:事件是如何触发的?1.定义事件2.订阅方法,方法入链的过程。3. 传入参数到事件调用事件执行,此处触发事件。 以Button的Click事件为例,下面两句话很常见,一个是事件的订阅过程,一个是实现事件订阅的方法; button1.Click+=new System.EventHandler(button1_Click); private void button1_Click(object sender, EventArgs e){} 但是事件的触发Click(obj,e)很难能找到。其实这个有操作系统管理了,操作系统后台管理着一个循环,响应鼠标单击这样的消息,此时触发事件。 在... 阅读全文
posted @ 2012-04-03 07:17 太一吾鱼水 阅读(309) 评论(0) 推荐(0) 编辑
摘要: MVC (Model-View-Controller)模式,即模型-视图-控制器模式,其核心思想是将整个程序代码分成相对独立而又能协同工作的3个组成部分,具体的功能如下:模型(Model):业务逻辑层。实现具体的业务逻辑、状态管理的功能。视图(View):表现层。就是与用户实现交互的页面,通常实现数据的输入和输出功能。控制器(Controller):控制层。起到控制整个业务流程的作用,实现View层跟Model层的协同工作。程序中经常遇到这样的情况:有两个集合(对象)A和B,两者通过抽象成为独立的实体,但是希望建立A和B之间的关系。处理方式可否理解为如下三种:1.将B作为参数传递到A中可以作为 阅读全文
posted @ 2012-04-02 11:59 太一吾鱼水 阅读(293) 评论(0) 推荐(0) 编辑
摘要: .Net中通过反射技术的应用----插件程序的开发入门再开始之前,先学习基本基本的概念.程序集:所有.Net类都是定义在某个Assembly(程序集)中的,.Net基本类是定义在mscorlib.dll中。exe也可以看做是类库,也可以引用。.net的exe也是Assembly,.net中的exe和dll的区别就是exe中包含入口函数,其他没有区别,exe也可以当成dll那样引用、也可以反编译。GAC:全局程序集缓存。公用的Assembly放到GAC中,我们新建一个项目,会发现引用的程序集,如system,找不到这个dll放在哪里,实质上系统已注册到全局GAC中程序集包含描述它们自己的内部版本 阅读全文
posted @ 2012-04-01 08:38 太一吾鱼水 阅读(431) 评论(0) 推荐(0) 编辑