
事过境迁
文章平均质量分 79
东邪独孤
欢迎来到桃花岛宇宙万物尽在其中
展开
-
争论VB.NET与C#哪个好?——智商低下的举动
<br />在网上,或者在论坛上总会看到这样的现象,到底是VB.net有前途,还是C#好?此起彼伏。冷静下来想一想,这样的争论是不是必要的?有什么积极意义?没有,这样争论显示是智商低下的人才去干的。<br /> <br />对于.NET,也不用我再介绍了,不了解的话,就“百度”两下,或者“谷歌”一下吧,一定有超级详细的介绍!<br /> <br />.NET是微软公司开发的,微软公司也说了,使用任何语言编写的代码,最终也被编译成中间语言,也就是说,不管你用啥语言来写代码,最后的结果是一样的(当然,非托管C+原创 2010-08-18 10:31:00 · 6094 阅读 · 4 评论 -
我是一只孤独的鹰
<br />我是一只孤独的鹰<br />翱翔在寂寞的天空中<br />村庄田野只是瞬间的幻觉<br />阔江大河只不过是梦中的雄浑<br />我的翅膀疲惫不堪<br />找不到一寸可以立足的土地<br />日日夜夜,我凄厉地长鸣<br />希望能叫得个地动山摇<br />也不知道多少回,用速度与气流搏斗<br />无情的刀<br />刻划着岁月变迁,沧海桑田<br />飞过一个又一个山头<br />前方看不到海洋,那只是心灵的沙漠<br />或许,我根本没有能力穿越波涛汹涌的大海<br />只能在沙漠中寻找原创 2010-08-18 10:29:00 · 3388 阅读 · 5 评论 -
说一下Path类
<br />在文件IO中,经常要处理一些与文件路径或文件名有关的东西,说白了,非常类似字符串的处理,我个人理解,处理路径信息,可以等同于特殊字符串的处理;不过,用字符串的处理方式去处理文件路径问题,有些复杂,.NET的System.IO命名空间中,提供了一个Path类,以及一系列静态方法,可以用来处理常见的有关文件路径的字符串表示方式。<br /> <br />class Program<br /> {<br /> static void Main(string[] args)<br /原创 2010-08-22 17:30:00 · 2427 阅读 · 4 评论 -
远程截取屏幕内容
<br />//服务器端代码<br /> <br /> <br />using System;<br />using System.Collections.Generic;<br />using System.ComponentModel;<br />using System.Data;<br />using System.Drawing;<br />using System.Drawing.Imaging;<br />using System.Text;<br />using System.Windows原创 2010-09-12 11:57:00 · 2477 阅读 · 0 评论 -
编写自动提交留言信息程序
一般来说,制作自动提交留言信息的程序,要分为以下步骤:一、分析填写留言页面的HTML代码,了解页面结构,重点是查找里面的form标记,因为那是提交数据的地方;二、用抓包工具抓取数据包(如WSockExpert),总结有哪些数据要提交;三、理顺思路,开工;四、调试完成如果要重复提交数据(什么?做连环炮?),最简单的方法是使用循环,没置一个条件可以在适当的时候结束循环就可以了,不要搞成死循环。当然,也可以使用定时器如Timer之类的组件,每隔一段时间提交一次。在没有设置验证码的页面比较好处理,如果设置了验证码,原创 2010-09-27 18:11:00 · 2900 阅读 · 0 评论 -
继续聊WPF——自定义CheckBox控件外观
上一篇文章中谈到了BulletDecorator控件,就是为自定义CheckBox控件的模板做准备,因为CheckBox需要比较严格的布局,正好,BulletDecorator控件就合适了,该控件的布局是有项目列表,排列起来好办很多了。 第一步,先建立一项资源,就是控件的聚焦样式,即当你在窗体中不断按Tab键使控件获取焦点时的样式,后面要用到。原创 2011-11-13 21:04:29 · 24531 阅读 · 11 评论 -
继续聊WPF——Expander控件(1)
欢迎加入.NET技术交流群:189931386 Expander是一个可以展开和折叠的控件,它包含两部分——标头和内容。标头通Header属性来设置,内容通过Conent属性设置,如下面一个简单的例子:原创 2011-11-14 21:33:29 · 47914 阅读 · 2 评论 -
继续聊WPF——Expander控件(2)
上一篇文章简单说了一下Expander控件,本文将编写一个自义模板的Expander控件,如下图所示: <Window x:Class="Expander_Sample2.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://sc原创 2011-11-17 21:55:29 · 18355 阅读 · 2 评论 -
继续聊WPF——为ListView的行设置样式
关键点:要设置ListView的行样式,设置Listview的ItemContainerStyle属性,但在本例中,由于我把样式应用于所有的ListViewItem,故不用设置该属性。 <Window x:Class="Wpf_GridHeaderStyle_sample.Window1" xmlns="http://schemas.microsoft.com/winfx/200原创 2011-11-17 22:09:23 · 36490 阅读 · 4 评论 -
继续聊WPF——Slider控件
Slider控件,讲行通俗一点就是我们很常见的滑块,控件的外观上显示一系例刻度值,并存在一个可以被拖动的滑块,用户可以通过拖动滑块来控制控件的值。如下图所示,是Windows系统的音量调节滑块。 下图所示为QQ音频聊天设置窗口中的音量调节滑块。 这样,我们就以很直观的方式认识了Slider控件。接下来看看该控件的构成: 然原创 2011-11-21 20:30:06 · 38652 阅读 · 1 评论 -
继续聊WPF——自定义滚动条
关键点:Track控件没有默认模板,它包括三个部分DecreaseRepeatButton——这是一个RepeatButton即滑块左(上)的部分;IncreaseRepeatButton——同上,即滑块右(下)部分;Thumb——很明显了,这是拖动的滑块,请参考前面的文章。 <Window x:Class="WpfApplication1.Window1"原创 2011-11-21 20:21:06 · 9579 阅读 · 0 评论 -
哈,真的很久没登陆了
自从上次帐号因积分不够被冻洁至今,估计也有一年时间了,唉,忙着忙着就没有上来了。昨日,突然发现,我的帐号还可以用,于心计划这几天重新布置一下,回归优快云博客。原创 2011-11-04 09:17:49 · 1376 阅读 · 0 评论 -
继续聊WPF——依赖项属性(3)
本系列文章,是从我的QQ空间转过来的。 上一文中,我们分析了依赖项属性的注册和定义方法,并解释了依赖项属性的注册过程,但是,有一个疑问会困惑着我们,既然依赖项属被声明为静态只读字段,那为什么它的值可以被改变呢?难道你不觉得很奇怪吗?微软的葫芦里到底卖的什么药呢?我们来看看。前文中我们提到过,设置依赖项属性的值使用SetValue方法,那好,我们就从SetValue方法入手。Se原创 2011-11-06 11:31:28 · 6848 阅读 · 5 评论 -
继续聊WPF——依赖项属性(1)
本系列文章是从我的QQ空间拷过来的。 依赖项属性可以称得上是WPF中比较难理解的概念,为了搞清楚这个概念,我都把.NET类库进行了反编译,但是,其结果我也是想到了的,微软不是傻子,.NET那么庞大,就算能被你反编译了,你也看不懂它的代码。所以说,经过我一番研究,虽然没有把.NET的每一行代码都弄明白,不过,黄天终不负有心人,依赖项属性的使用方法与基本原理,我可以说已经弄明白了,恰巧原创 2011-11-06 11:22:37 · 6157 阅读 · 4 评论 -
继续聊WPF——获取ComboBox中绑定的值
千万不要认为WPF中的数据绑定会很复杂,尽管它的确比Winform程序灵活多了,但其本质是不变的,特别是ComboBox控件,我们知道在Winform中对该控件的有两个专为数据绑定而设定的属性——DisplayMenber和ValueMenber,分别绑定用于显示和用于存放用户选择值两个字段,最典型的应用类似于key-value形式的数据字段,如学生表中的学号(ID)和学生姓名。 其实,在原创 2011-11-06 21:55:30 · 51315 阅读 · 10 评论 -
继续聊WPF——依赖项属性(2)
在上一文中,我们用传统面向对象的方法来定义了一个类,而我们同时把该类的实例绑定到两个文本框,第一个文本框用于输入值,第二个文本框用于根据第一个文本框中的输入来取得属性值。 在上例中我们已经明了,虽然能做到同步更新,但这同步更新并不是实时的。而是在控件失去焦点或点击按钮之后才发生,因为那个时候是重新进行了绑定,所以,一般的属性声明并没有实现实时更新。 下面,我们把Student类进行原创 2011-11-06 11:26:29 · 6915 阅读 · 3 评论 -
继续聊WPF——设置网格控件列标题的样式
我很奇怪的是,微软那厮是怎么搞的,Blend里面居然不能编辑GridView的样式,十万般无奈之下,只好手写XAML来处理了。要想知道一个控件的样式是如何设置,看控件类的定义很重要,我们来看看GridView是如何定义的:[StyleTypedPropertyAttribute(Property = "ColumnHeaderContainerStyle", StyleTargetType原创 2011-11-08 08:30:45 · 9518 阅读 · 1 评论 -
继续聊WPF——如何获取ListView中选中的项
欢迎加入微群 DotNet中国:http://qun.t.qq.com/67176884 在WPF中获Listview中选中的项,与WinForm里面有着很大的区别,要亲身去研究一下在WPF中如果处理,其实也不难,来,下面我们一起来通过一个简单的示例来感悟一下吧。 第一步就是建立一个WPF应用程序项目,这个不用描述了,节省了31个字。第二步,为了实现数据绑定,先写一个简单的员原创 2011-11-08 20:59:02 · 35509 阅读 · 5 评论 -
继续聊WPF——Thumb控件
这个控件,真不好介绍,MSDN上也是草草几句,反正就是可以让用户拖动的玩意儿,但是,你会发现,当你在该控件上拖动时,它没有反响,也就是说这个东西默认不做任何操作的,它是赖在那里什么都不干,除非你去踢上脚。而且,这个控件就像一个四方鸭,你踢一脚它就前进一步,你不踢,它又在那里尸位素餐,什么都不干了。 还是用一个例子来说明吧,不过,还是先说一下重要的东西。Thumb有几个核心事件,都是原创 2011-11-11 23:23:44 · 25886 阅读 · 7 评论 -
继续聊WPF——进度条
ProgressBar控件与传统WinForm使用方法完全一样,我们只需关注:Minimum——最小值,默认为0;Maximum——最大值,默认为100.Value——当前值。 关键是它的控件模板,因为系统的默认主题不好看,很多时候我们是需要自定义样式和模板。老方法,先看定义:[TemplatePartAttribute(Name = "PART_Track", Typ原创 2011-11-12 21:59:31 · 25626 阅读 · 4 评论 -
继续聊WPF——BulletDecorator控件
这是一个很简单的控件,无非就是控制项目的布局方式,其布局方式只有两种:从左到右,从右到左。一、从左到右 二、从右到左布局方向由FlowDirection属性来决定,所以我说这个控件非常简单上面的截图的XAML如下:原创 2011-11-13 11:58:23 · 9315 阅读 · 0 评论 -
Silverlight之我见——DataGrid数据验证
用DataGrid进行数据验证,一句话:太简单了,为什么?因为它自身已经具备了很完善的数据验证功能。好,说多无益,最好的办法,来,写个例子试试。老规矩,先准备点数据来测试,既然要数据验证,就不能全弄字符串的,弄点整型的,日期型的,这样就有利于演示。 public class Employee { public string Name { get;原创 2011-12-08 08:29:37 · 3911 阅读 · 0 评论 -
写了一个整人程序,较简单,有兴趣者可以看看
程序是基于WPF开发的,动态创建对象和动画。 using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Windows;using System.Windows.Controls;using System.Windows.Data;原创 2011-12-10 00:18:28 · 9657 阅读 · 0 评论 -
Silverlight之我见——数据批示(1)
第一次听到这个概念,你是否有点陌生?MSDN上也没有特意的去说明。不要看到这个名词不太熟悉,其实数据批示,玩过C#的人都会非常熟悉,所谓数据批示,其本质就是特性(Attribute),怎么样,现在有点似曾相识了吧? Attribute可以附加在命名空间、类,以及成员定义上的一种“特殊描述”,如下所示,这种标志枚举相信大家在使用COM互操作性或者引入平台API的时候用得很多了。原创 2011-12-09 07:55:55 · 2092 阅读 · 2 评论 -
发现:Click事件也能获取鼠标单击的坐标
按照MSDN的说明以及平时的习惯,我们要获取鼠标单击时的相对坐标,都会使用MouseClick等事件,今天,偶然发现,原来Click事件也可以。 /* 惊天地泣鬼神的考古业绩。 * 原来Cilck事件也能获取鼠标点击的当前坐标, MSDN上说要用MouseClick事件,哈哈 * 原来Click事件也可以!!! * 但是,如果通过键盘引发事件,而不是通过鼠标操作,原创 2011-12-10 16:57:10 · 5504 阅读 · 0 评论 -
Silverlight之我见——数据批示(2)
接着上一回的话题,继续来研究数据批示特性,先拿简单的RageAttribute来弄弄,接着上次的示例,添加一个Age属性,并加上RangeAttribute。 [Range(20,60,ErrorMessage="年龄范围在20与60之间。")] [Display(Name="年龄",Description="歌手年龄。")] public i原创 2011-12-12 21:48:27 · 1934 阅读 · 0 评论 -
继续聊WPF——用Blend自定义Listview控件的列表头
在Blend中右击ListView控件,从样式和模板相关的菜单项中,我们没找到与列表头有关的项。 然后,我们到属性面板中找GridView的ColumnHeaderContainerStyle属性,结果你发现,就算你在高级选项菜单中把它转换为本地资源,你会发现它没有反应,切换到XAML视图也没看到生成的代码。 那是不是没办法了呢?这个问题我想了想,是不是只能手写XAML原创 2011-12-21 08:06:21 · 15329 阅读 · 2 评论 -
ASP.NET大闲话:ashx文件有啥用
在VS中右击项目,添加新项,我们找到.ashx文件在新建项模板中叫做“一般处理程序”,那么这个一般处理程序用来干吗的呢?我们可以这样地简单理解,嗯,不需搞得太复杂,它就类似.aspx文件,用于处理传入到服务器的HTTP请求,但它不会像.aspx文件那样要返回处理结果和大量HTML,它可以返回简单的字符串、图片等。 大家知道,HttpHandle需要在Web.Config文件中进行相应的原创 2011-12-23 09:06:26 · 56525 阅读 · 5 评论 -
WPF通过鼠标滑轮缩放显示图片
如果你使用WinForm比较难实现通过滚动鼠标滑轮来对图片进行缩放显示,那么,你应该考虑一下使用WPF,既然是下一代Windows客户端开发平台,明显是有一定优势的,不然,MS是吃饱了撑着。 首先,我们应该知道WPFUI元素都具备变换功能,不仅支持二维变换,同时也支持三维变换,但3D变换对CPU的处理能力有着一定要求,如果不使用3D,WPF对性能的要求其实并不高,说WPF吃内存更子扯原创 2011-12-15 21:26:30 · 16467 阅读 · 3 评论 -
Silverlight之我见——制作星星闪烁动画
圣诞节来了,无聊,做点东西纪念一下。 原理很简单,生成1000个圆,从随机数来布置它们的位置,通过动画来处理它们的透明度,动画时长也是随机生成。 1、创建图形数组并设置背景透明,渐变笔触,大小等,而后加入到Grid元素的子元素集中;2、创建动画时间线;3、加载完成后播放动画;4、每一轮动画播放完毕后,重新随机生成一下图形的Margin,动画的时间长度也是随机生成。原创 2011-12-25 20:05:10 · 3930 阅读 · 0 评论 -
继续聊WPF——数字墨迹A
今天晚上,我为大家准备了一项很好玩的东西,相信大家以前在使用MS Office的也时候也用过手写输入,或者用画图软件,应该对手写感知不陌生了,尤其是手机,很多机子都有触屏手写功能。在以前,要实现手绘功能是很痛苦的,但是,告诉你一个好消息,在WPF里面,你会非常轻松就能实现这功能,信不信由你,反正我信了。来,试试看。 新建一个WPF应用程序,然后在Grid下面加上以下XAML:原创 2011-12-26 21:36:31 · 4014 阅读 · 0 评论 -
继续聊WPF——数字墨迹B
前面的内容,我们用简单的方法就创建了一个手写板示例,下面,我们再来做一个更为复杂一点的手写板程序。示例程序有两个选项:选择“书写”可以进行手写输入,选择“擦除”,可以去掉不必要的部分,类似橡皮擦的功能。并且,还可以选择笔触颜色。 首先就是放一个InkCanvas控件,相信都没问题,很简单。原创 2011-12-26 21:42:41 · 4113 阅读 · 0 评论 -
LINQ简记(1):基本语法
关于LINQ(语言集成查询)是.NET 3.5和Visual Studio 2008以上版本中引入的一种有趣的全新概念,语言版本有VB和C#,由于C#与.NET平台结合最为紧密,也是MS当初首推的语言,因此,本系列文章的示例代码都使用C#。 MSDN上资料非常详细和完备,所以,我也不打算讲得过于详尽,再说,网上也有不少博文都阐述过LINQ,如果我还炒冷饭,就有抄袭之嫌。其实,很多时候我原创 2012-01-08 17:55:29 · 3130 阅读 · 1 评论 -
LINQ简记(2):重要概念
为了能让初学者更快速地掌握,在系列文章中,我尽可能地避开理论讲解,一则对于入门者来说,过多的理论叙述反而会降低大家学习编程的兴趣,二则,官方文档的资料很详细,我说了也是废话。因此,我会尽可能地多举些简单的例子,让初学者能够看得懂,呵呵,当然了,学习LINQ,还得有一定C#语法基础。上一篇文章中我们讨论了最简单的LINQ语法,也是最基本的语法和表达式编写结构,本文我们就来谈一谈几个重要的概念。原创 2012-01-09 21:31:00 · 1976 阅读 · 0 评论 -
LINQ简记(3):子句
LINQ查询表达式的子句如select,where,from等都是比较简单的子句,相信各位多练习练习,再结合MSDN的例子,基本上是可以理解的,因此,本文只挑几个有代表性的,以及有些难理解的子句来简述一下。 一、where子句。在SQL中,筛选语句常用的表示方式如“select * from Users where uName = 'DMIN'”,这个SQL语句就带有WHERE子句,其原创 2012-01-12 21:57:39 · 2082 阅读 · 1 评论 -
技巧篇:如何重写基类的事件
先说说需求,也就是我们要达到的效果,希望扩展按钮控件,增加一些属性,但同时我们希望默认事件仍使用Click事件,不过,在事件参数中,我们希望能够传递更多的信息,而不是Button.Click默认的参数。 当然,我们首先要写一个自定义的事件参数,为了简单起见,我们的自定义按钮控件,增加一个TagNumber属性,它传递一个整型数据,当我们处理控件的Click事件,能够从事件参数类实例中取得我原创 2012-01-14 21:26:17 · 4923 阅读 · 0 评论 -
技巧篇:结合反射技术实现多算法动态加密
这个题目,我姑且这样叫吧,照例,我们先来分析一下需求。比如有一个设置密码的功能,但用户希望能够自己选择密码的加密算法,如MD5、HMAC、SHA1等,然后程序会根据用户所选择的算法对密码进行加密并存入数据库,同时在配置文件中记录下用户的选择。按照一般的思路,我们可能会做一个分支判断,如switch( 用户的选择 ){ case "MD5":原创 2012-01-15 11:54:42 · 2702 阅读 · 0 评论 -
继续聊WPF——自定义命令
作为春节前的最后一篇技术文章,写点什么呢?想了一下,就聊聊WPF中的命令吧。命令这东西很有意思,简明一点说,它是一种逻辑,但这种逻辑可以被多种源调用,可以作用于多种目标上。如我们常见的“复制”,“剪切”等命令,它们本身就是一种逻辑——对剪切板进行操作的逻辑行为,不过,你会发现,它们不仅可以在菜单项中使用,也可以在工具栏按钮上使用,也可以通过快捷键Ctrl + C等来调用。 菜单项原创 2012-01-22 15:11:51 · 11652 阅读 · 0 评论 -
龙年新作:水印文字添加工具源码摘要
下载地址:http://www.xdowns.com/soft/31/93/2012/Soft_84985.html 源码要点核心:生成添加水印文字后的图片。 using System;using System.Collections.Generic;using System.Text;using System.Windows;using System.Wind原创 2012-01-26 17:34:23 · 2127 阅读 · 0 评论 -
今天写了一个简单的新浪新闻RSS操作类库
今天,有位群友问我如何获新浪新闻列表相关问题,我想,用正则表达式网页中取显然既复杂又不一定准确,现在许多大型网站都有RSS集合,所以我就跟他说用RSS应该好办一些。 一年前我写过一个RSS阅读器,不过,打新浪相关的XML文件看了一下,发现RSS2.0 和一年前的不大一样了,但具体怎么处理,几句话也很难讲得清楚,所以,我干脆写了一个类库给他,直接调用。 类库不是很复杂,主要两个功能:原创 2011-12-30 16:55:01 · 3439 阅读 · 2 评论