
正文
vb.net三目的简单介绍
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
VB 和.Net ——关于学vb的困惑
根据个人的经历谈谈个人感想
我一开始学的是VB,但学会后,也就是楼主你的样子,后来学C,觉得C太垃圾了,这可能和VB的简单形成对比,C语言学会后就再也没用,后来直接由VB升级到VB.NET,的确,如同楼主所说,.NET是比较简单,但是有个后遗症,是现在我都烦的,就是编译的软件必须要在有.NET的电脑上运行,XP是不带.NET的,而且,版本还的相对,如果用.NET4.0编的,在4.0以下版本电脑上运行很可能就出错,并且,如果你要打包的话也可以,就是把软件打包成安装包,然后附带.NET环境,但缺点就出来了,.NET3.5完整安装包235M,因为它包括了以下所有版本,还好.NET4.0只有50M左右,因为它不包括以下版本,但总之,.NET就是简单了编程,但复杂了使用,软件得打包,不像VB,编好后直接打开EXE就可以了。所以就麻烦了,举些例子,以前用VBA编OFFICE的宏,打开OFFICE就可以编,编好后就存为XLSM就可以了,现在用.NET就成了VSTO了,编好后,不和文档在一起,是分开的DLL,如果要运行,条件为,1,.NET环境,2,OFFICE,3,VSTO相比以前只需要OFFICE复杂了N倍,而且编辑时也需要VS(动不动就几G)才行,相比以前只要有OFFICE就可以区别也很大,同样,CAD的嵌入开发也是一样的。
所以总体来说,越底层的语言越底层的API越好用,越通用,越高级的越不通用,所以现在我开发软件我都烦了,要是一个小软件几百K~M,再附带个.NET就好几百兆,用的时候还得安装才能用,又不是什么大软件有必要这么做么,还有.NET不是万能的,有些地方也得用API,而且.NET其实也挺复杂,难的地方不比API简单,其实就感觉是封装好了的API而已。
至于数据库,的确.NET连接比较简单
至于学C?那就不用了,因为.NET的支持 C#,C++,VB,J#,只要会其中一种就可以了(而且你只要会其中一门,是能看懂另一门的,比如我虽然编辑C#可能要出错,但C#代码我是几乎全部能看懂的,网上查资料也能看懂其他语言的),大部分是学C的升级用C#.NET,VB的升级成VB.NET,你没必要把它当成另一中语言来学,语法是基本一样的。只是从一开是学C的比较多,就成了C#的比较多而已了,至于语言,我不想做语言攻击,其实都是有用的,就是看自己习惯不,比如我就不习惯C。
我也不想说VB好还是VB.NET好,其实是看你用途,我只是至今没发现什么网上的软件是.NET编辑的,一些软件比如CAD,OFFICE安装时安装了.NET,其实都不是它们是基于.NET编辑的,而是为了支持.NET的嵌入式开发,你所看到的软件,比如QQ,迅雷,你看他们带.NET了吗?要是.NET好,他们干嘛不用,答案是因为不方便,因为XP系统一般是没有.NET的,连WIN7内嵌的.NET都不支持最新的.NET,也就是你用什么版本编的就得安装相应版本,那也要求对方电脑也得跟着升级,而API是不用升级着走的~
所以,你要编的软件在其他电脑上用,VB+API吧,如果你要个人电脑上用,VB.NET吧,如果你编小软件vb+api吧,如果你要大型软件就VB.NET吧,所以,你自己选吧。
希望给你的意见能对你有好处,现在深夜11点了,我也改睡了,拜拜!~
祝你学习愉快!
对了,还有点,比如CAD2007不支持.NET3.5以上的编程,而且.NET编好的EXE或者DLL是可以用专门的软件打开看你源代码的,也就是反编译,这对于加密(可以看你的加密方法)就很麻烦了(据说采用什么办法可以解决)。
相关问答
Q1: vb.net中三目运算符的写法?
iif(Condition=true,1,0)iif(Condition=true,1,0)iif(Condition=true,1,0)iif(Condition=true,1,0)iif(Condition=true,1,0)
Q2: 如何给VB.NET窗体添加子窗体?
直接添加一个MID父窗体或在已有窗体的属性中找到IsMDIContainer属性,然后设置为True,然后创建第二个窗体 ,需要加载子窗体的时候:
Dim NewMDIChild As New Form2
NewMDIChild.MdiParent = Me
NewMDIChild.Show()
Public Shared Sub CheckMDIChildForm(ByVal MDIForm As Windows.Forms.Form, ByVal MDIChildForm As Windows.Forms.Form, ByVal MDIChildFormName As String)
If MDIForm.MdiChildren.Length 1 Then
'如果没有任何一个MDI子窗体,则创该MDI子窗体的窗体实例
Dim MDIChildFrm As Windows.Forms.Form = MDIChildForm ' 定义MDI子窗体
MDIChildFrm.MdiParent = MDIForm '指定父窗体
MDIChildFrm.Show() '打开窗体
Exit Sub
Else
Dim x As Integer
Dim frmyn As Boolean
For x = 0 To (MDIForm.MdiChildren.Length) - 1
Dim tempChild As Windows.Forms.Form = CType(MDIForm.MdiChildren(x), Windows.Forms.Form)
If tempChild.Name = MDIChildFormName Then
'检测到有该MDI子窗体,设为激活 并退出循环
frmyn = True
tempChild.BringToFront()
Exit For
Else
frmyn = False
End If
Next
If Not frmyn Then
'在打开的窗体中没检测到则新建
Dim MDIChildFrm As Windows.Forms.Form = MDIChildForm ' 定义MDI子窗体
MDIChildFrm.MdiParent = MDIForm '指定父窗体
MDIChildFrm.Show() '打开窗体
End If
End If
End Sub
Q3: 零基础学习vb. net怎样学?
你得先补基础。
最好去学校,找计算机系的学生,抄下专业专业课程和对应的课本(说不定顺便能讨些旧课本),卖齐这些课本(一般学校里面就有书店)慢慢学。
(以下课程不全)
至少需要读一遍的:计算机导论、程序设计基础、软件工程、编译原理
重点学习的:算法与数据结构、面向对象程序设计
还有VB.Net需要一定的基础,建议先从 C++ 或 VB(版本6.0)入门
Q4: vb. net是面向对象的编程语言是对吗?
VB.net 相对VB出现巨大变化的是语意,从运行于基于COM的deterministic, reference-counted的引擎之上的编程环境,转变为全面面向对象的基于.NET Framework的语言。.NET Framework包括了CLR(使用通用垃圾收集机制和JIT编译引擎的虚拟机)和大量的类库。VB开发者进入VB.NET要面对新增的大量类库的问题。
上述变化表明了许多在运行及维护相关优化事宜下面的假定,一些VB6函数和库不再存在而其它的仍然可用,但是比不上.NET语言中自带的可替换的函数和库来得高效。即使它们可被编译,但大多从VB6转换而来的应用将需要一定程度上的重构(refactoring),以全面利用新语言的优点。在有关句法、应用调试、部署和术语等方面的变化,有大量的文档可以参考。
Q5: VB和.net差别是什么啊
第一,VB什么时候都不是世界上使用人数最多的语言。其次,我真的不知道VB这东西有什么好的,如果说VB给当初困扰中的windows程序员们提供了一个所见即所得的UI开发环境,那么其实他们真的应该多关注Delphi、C++
Builder。第三,.NET跟微软的web
service也没有一毛钱的关系,微软第一个web
service的标准是SOAP,2000年左右出的。VB.NET与其说是VB,不如说是微软为了挽留VB程序员做的努力。拿VB去比C++更是令人发指。第四,.NET并非一个编程语言,C#、VB.NET、托管VC、Delphi
.NET都是.NET家族的。







