从VB6升级到VB2010,很多人不习惯。。。说不习惯,其实也有很大一个原因:就是不知道VB2010好在哪里。。那么,本文将以最常用的TextBox的升级为例让你领略一下VB2010的魅力...
1. 清除文本框内容。
VB6 : TextBox1.Text=""
VB2010: TextBox1.Clear()
2. 取消选择文本。
VB6 : TextBox1.SelLength=0
VB2010: TextBox1.DeselectAll()
3.隐藏文本框。
VB6 : TextBox1.Visible = False
VB2010: TextBox1.Hide()
4.显示文本框。
VB6 : TextBox1.Visible = True
VB2010: TextBox1.Show()
看这里,你会发现同样的功能,在VB6中很多对属性值的操作,而到VB2010中则演变为方法。或者,你觉得其实是一模一样是吧。。那么,继续看:
6.取得文本框文本的长度。
VB6 : TextLen=Len(TextBox1.Text)
VB2010: TextLen=TextBox1.TextLength
7.向当前文本框添加文本。
VB6 : TextBox1.Text=TextBox1.Text & "123"
VB2010: TextBox1.AppendText("123")
看到这里,是不是觉得VB2010也不过是对一些函数、方法的整合是吧。。怎么,不屑?那再来看几个:
8. 选中文本框中指定位置指定长度的字符串。
VB6 : TextBox1.SelStart=2
TextBox1.SelLength=3
VB2010: TextBox1.Select(2,3)
9.选中文本框中所有的内容。
VB6: TextBox1.SelStart=0
TextBox1.SelLength=Len(TextBox1.Text)
VB2010: TextBox1.SelectAll()
我知道,你还不服气。。。因为还是整合。。,但不管怎么说,效率上,确实高了不少。。不过,这并不是全部,费话少说。。。还是go on...
10. 将文本框的内容复制到剪贴板。
VB6 : Clipboard.SetText(TextBox1.Text)
VB2010: TextBox1.Copy()
11. 将剪贴板中的内容贴到选中的文本或文本框中。
VB6 : TextBox1.Text=Clipboard.GetText()
VB2010: TextBox1.Paste()
12. 将文本框的内容移动到剪贴板
VB6 : Clipboard.SetText(TextBox1.Text)
TextBox1.Text=""
VB2010: TextBox1.Cut()
看到这里,大家应该注意到VB2010进行copy/paste操作竟然不用去理会Clipboard。。别激动。。请继续:
13. 设置文本框的内容是否为只读。
VB2010: TextBox1.ReadOnly = True
14. 设置文本框输入的字符是保持不变还是转成大写/小写。(例:转成大写)
VB2010: TextBox1.CharacterCasing = System.Windows.Forms.CharacterCasing.Upper
这2个,我特地没有写出VB6的代码。。有兴趣的,不妨用写写看哦。。不过,我想有经验的看客们大概也可以估计的出来实现这2个属性需要多少代码。。
此时有人不得不心里承认:这2个属性确实很有用,而且VB6确实没有。。实现起来,还有点麻烦!
也许,列出的这14个小例子。。。看起来无非是节省了代码。但实际上,不论是对属性值的操作改变成方法,或是将一些函数与方法进行整合,真正的意义是:让程序员们更多想思考要做什么,而不用去考虑如何做。
例如:TextBox1.Text="" 其目的是清空TextBox,而代码完完整整地表现出来实现的方法,即将TextBox1的Text值设置为"" ,其重在如何实现。而升级到VB2010的TextBox1.Clear 则是完完全全没有表现如何实现,只是表达要做什么。。
再例如:VB2010中进行copy/paste/cut这此操作。。直接去调用对应的方法。已经完全忽略了Clipboard的操作。。对程序员的操作系统知识要求大大降低。。其目的一样,要求程序员更多去思考要做什么。。而不是怎么做,如何做。。
所以,这一切。。这不仅仅是省掉的几个字符,更是编程思想的跳跃!
当然,万事有一利必有一弊。如此同时不得不说的是:如果只依赖于先进的编程工具。未来的程序员会越来越不了解程序,操作系统的本身,更不用说象早期汇编程序员那样了解到pc的硬件以及架构。
那么,VB2010,.NET对程序员究竟是福或是祸呢?:)
原文链接:https://www.f2er.com/vb/259386.html