上一页 1 2 3 4 5 6 7 8 9 ··· 11 下一页
摘要: jQuery中有两个方法——ready和load。它们非常容易混淆。这里做一下区分:jQuery中的ready特指“DOM”全部加载完毕,也就是说,只要DOM加载完毕了,这个事件自然被触发了。所谓“DOM”加载完毕指整个页面的标签部分全部加载完毕,至于说某些标签内部可能还存在着一系列事件未完成(譬如img标签可能加载远处一个很大的bmp图片尚未加载完毕等情况)则被忽略。因此对于单纯设置某些Html标签的事件或者属性的绑定而言,在ready方法中显然比load更为适合(因为load必须等到全部的标签都处于完成状态,包括img把图片全部加载完毕为止)。这里不妨给出一个现成的示例代码(纯Html): 阅读全文
posted @ 2013-01-29 11:08 Serviceboy 阅读(702) 评论(0) 推荐(0) 编辑
摘要: 问题的缘起在于有一个学习数据操作的人询问我“BindingNavigator”如何点击“删除”前进行确认。我一开始模拟创建了一个表,然后通过设计器的方式生成了这四类控件,随后拖拽一个Navigator到WinForm上,双击红色叉叉部分,写入一个MessageBox判断用户究竟是否需要取消——显然不起作用。于是反推引发该Delete事件的方法必然是先调用了SQL相关语句删除了当前记录,然后引发了Delete事件,于是兴冲冲地查看BindingNavigator关于Delete的方法,希望可以重写——[C#]private void OnDelete(object sender, EventAr 阅读全文
posted @ 2012-12-01 16:51 Serviceboy 阅读(1090) 评论(0) 推荐(0) 编辑
摘要: 一次在论坛上碰到某人需要动态用C#在后台输出“我要'飞'”的字符串——其中“飞”上带有一对单引号。当时我就这样想……在纯Html中js代码这样写:<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> &l 阅读全文
posted @ 2012-11-25 17:01 Serviceboy 阅读(1204) 评论(0) 推荐(0) 编辑
摘要: 现在假定有两张表tb_Category和tb_Product(它们属于一对多关系),其中Product中的Cid是Category的外键。表结构如下:转化成LINQ-TO-SQL之后模型类如下:现在如果删除一个Category的话会抛出“外键冲突”等异常——究其原因,在于外键如果引用该主键,那么该主键不应该被删除。怎么解决呢?LINQ-TO-SQL没有提供类似直接解决方案。我们可以这样做:一、先从后主:所谓“先从后主”就是说先把要删除的Category(假设就是第一个Category)下面的所有的Products给删除,最后把Category也删除。代码如下:[C#]using (MyDbCo 阅读全文
posted @ 2012-11-23 13:51 Serviceboy 阅读(1206) 评论(0) 推荐(0) 编辑
摘要: 一次在开发一个3D“点”用户Web控件的时候用了结构体,结果碰到了小问题,先给出代码(核心部分):[C#]namespace CSharp{ namespace CSharp { /// <summary> /// 三维坐标的Struct结构 /// </summary> [TypeConverter(typeof(MyConvertor))] public struct DPoint { private double _x; private double... 阅读全文
posted @ 2012-11-22 12:44 Serviceboy 阅读(388) 评论(0) 推荐(0) 编辑
摘要: 一、“接口”初步:从OOP设计角度来分析,“接口”是一个很特殊的“类”,特殊之处在于:1)不能为接口中定义的方法添加关键字(只允许是public)。2)可以定义事件/方法/属性,但都无法实现(只能让实现类去实现)。以上这些限制了接口的应用范围——意味着接口只是作为一个对类的契约而存在,谈不上“代码复用”(因为接口自身不能定义方法,自然实现类无法调用它们,也就不构成重载/重写的概念了),也根本不存在“继承”的概念。因此“接口”的关键字是Implement而不是Inherit(在C#中则都是英文状态的冒号)。由接口自身的定义,我们联想到最简单的接口应用就是强制某个类必须具备某种方法,譬如说我要设计 阅读全文
posted @ 2012-11-19 13:38 Serviceboy 阅读(771) 评论(0) 推荐(2) 编辑
摘要: 面向对象程序设计最基本的一个特点在于类可以继承——即通常我们所谓之“代码复用”原则优先。继承可以来自一个普通类,也可以来自一个抽象类,那么哪个更好一些呢?或者继承自普通类和抽象类在应用上有何区别呢?今天主要来讨论这个问题。一、继承自普通类+virtual方法:譬如我设计了一个点的类(Point),这个“点”类其中包含X,Y两个基本公共属性。那么以后随着需求增加我或许要定义一个三维的店DPoint,由于从数学角度分析,三维坐标比二维坐标只是多了一个Z,其余属性基本相似。因此直接可以通过继承二维坐标的Point类扩展一个Z属性即可。进一步考虑。如果我已知一个点,输入另外一个点的坐标或者实体类,求该 阅读全文
posted @ 2012-11-19 13:38 Serviceboy 阅读(685) 评论(0) 推荐(1) 编辑
摘要: NET允许不同的命名空间里存在同名的类——“System.Timers.Timer, System.Threading.Timer和Sytem.Windows.Forms.Timer”就是一个很好的例子。那么它们之间有何区别呢?我们这就来分析一下:[1]System.Windows.Forms.Timer:这个Timer是我们最最常见的一个Timer,主要用于一般Windows窗体编程时候的定时使用。(主要的属性:Interval——用于控制每隔多少时间出发一次Tick事件,Enabled——是否立即启动定时器,Tick事件——用于在Interval到时之后触发的行为)。由于该Timer是相对 阅读全文
posted @ 2012-10-20 22:06 Serviceboy 阅读(2501) 评论(8) 推荐(3) 编辑
摘要: 这个标题有些长,可能一时半会儿无法看懂。不如我们边看代码边说:[C#]namespace ServerControlTest{ [TypeConverter(typeof(ExpandableObjectConverter))] public class Point { [NotifyParentProperty(true)] public double X { get; set; } [NotifyParentProperty(true)] public double Y { get; set; } [N... 阅读全文
posted @ 2012-09-27 15:49 Serviceboy 阅读(1073) 评论(0) 推荐(0) 编辑
摘要: 上一篇写到了微软经典的事件处理机制是通过EventHandlerList方式进行事件保存并且处理的。本节讲一个奇怪的问题——虚事件和事件重写问题(具体提问在:http://social.msdn.microsoft.com/Forums/zh-CN/csharpgeneral/thread/14400510-44da-4e95-95fa-fa584edc1917)请诸位看下文再说——现在假设有这样一个类:[C#]namespace CSharp{ public class A { public virtual event Action MyEvent = null; ... 阅读全文
posted @ 2012-09-27 10:53 Serviceboy 阅读(1571) 评论(3) 推荐(1) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 11 下一页