vb学好学VB.NET好吗
1、明确目的:学习VB的是成为软件工程师,而非代码工人。
什么是代码工人,代码工人也叫软件蓝领。指那些至少掌握一门开发语言或开发工具,所从事任务与软件工程中的需求分析、系统分析、概要设计无关的程序员。在印度的软件产业中,这些大量的低成本程序员是由高中生毕业后进行简单培训就可以担当的。
软件工程师一般指从事软件开发职业的人。软件工程师跟一般程序员的分别,在于一个程序员的工作是按照指定的项目分析书来做编码,而软件工程师的工作则需要规划。不过,由于现时社会的分工愈来愈模糊,软件工程师跟程序员的分工也愈不明显。但对于严格执行CMM的机构来说,各人的工作分野比较清晰,这有助于了解软件工程师跟一般程序员的分别。
为什么出现代码工人,其实主要的原因是程序员的水平差距很大,好多人完不成独立的任务,最终会倒致一个工程的失败,所以才后出现了软件工程这些概念,通过有效的管理,分工,使即时只会一些简单编码的人也能完成一个独立的工作。
2、下定绝心:学VB需要很长时间的努力,要有恒心和毅力。
学习任何编程语言都是一件很枯躁的事情,除非你有强大的爱好,如果你只是为了多赚点钱,我建议你还是去做销售吧,软件工程师这个职位不适合。必需要为自己的爱好而学习,这样才能有足够的动力来学习编程这门枯燥的事情,才能在枯燥的事情中找到快乐。
3、学习技巧:70%的学习在工作中获得,20%的学习从经理、同事处获取,10%的学习从专业培训中获取。 这句话出自IBM。这说名一个主要的问题,IT的大部份内容是需要自学的,在工作中获得的含义就是自己通过一些项目的实践,来进行学习和充电,也就是说只有在开发一个项目的时候才能真正的学到东西。那么刚刚开始学习,我没有工作呀,这怎么办,其实这也很好办,先要给自己当老板,安排自己要做一些东西,当然这些都可以是非常简单的小软件。比如做个通讯录什么的。
4、必要的方法:认认真真的把MSDN中关于VB的内容好好看一看,特别是函数和语句,很有用的。
MSDN里面关于VB的内容一定要多看,有些方法和函数你可能用不到,但一定要知道,以后遇到类似的需求,只要一想就知道如何解决这个问题了。或者上 http://www.vbsk.com.cn搜索问题答案,自己解决的问题才最增长能力.
5、遇到问题:不要直接去问别人,自己好好想一想,试着解决这个问题。
为什么先要自己想一想呢,因为当你自己想过好多办法,解决一个问题,可能解决的办法并不是最好的办法,但绝对有利于你自己的提高,一个人水平的提高主要是通过独立的解决问题来得到的。即实自己最后没有解决问题,你自己思考过了,最后别人帮你解决,你也会想和很深入,以后再碰到类似的问题,也就能自己找到方法解决了。
6、基本理论:多研究些语言上的东西,如数据结构和算法。
这个是成为高手的基本知识,没有什么好说的了。
7、高手进阶:如果想成为高手,还要会好多与VB不相关的东西。
真正的高手还要涉猎好很多知识,比如网络协议,美工设计等,也就是说要提高自己的整体素质,而不仅仅是写程序。
8、成为高手:要自己设计软件,从头到尾,哪怕是小软件。
这一点是软件工程师与代码工人的主要区别,软件工程师必需会设计软件。
9、真正高手:编程语言是互通的,再学习一些其他言。
VB.NET菜单设计初级入门[3]
五.绘制个性化菜单 先执行以下操作步骤 下列步骤是通过菜单编辑器设计一个简单的菜单 为后面重新绘制做基础 启动Visual Studio Net 选择菜单【文件】|【新建】|【项目】后 弹出【新建项目】对话框 将【项目类型】设置为【Visual Basic项目】 将【模板】设置为【Windows应用程序】 在【名称】文本框中输入【自己画菜单】 在【位置】的文本框中输入【E:\VS NET项目】 然后单击【确定】按钮 这样在 E:\VS NET项目 目录中就产生了名称为 自己画菜单 的文件夹 并在里面创建了名称为 自己画菜单 的项目文件 把Visual Studio Net的当前窗口切换到【Form vb(设计)】窗口 并从【工具箱】中的【Windows窗体组件】选项卡中往Form 窗体中拖入下列组件 一个MainMenu组件 名称为 MainMenu 选中 MainMenu 组件 单击鼠标右键 在弹出的菜单中选择 编辑菜单 并按照图 所示界面设计菜单 图 【自己画菜单】项目设计界面之一 此时保存上述步骤 并单击快捷键F 则得到图 所示界面 图 【自己画菜单】运行界面之一 这样通过菜单编辑器就完成了一个非常普通的菜单 下面就对此菜单进行改造 在改造之前 要先设定项目中的三个MenuItem类实例的OwnerDraw属性值为 True 因为只有此属性值为 True 才会触发绘制菜单时所需要的DrawItem事件和MeasureItem事件 之后再在上面项目的基础上执行下一步操作 把Visual Stuido Net的当前窗口切换到Form vb的代码编辑窗口 并在InitializeComponent过程之后添加下列代码 下列代码是绘制 文件 菜单项 其作用是改变 文件 菜单项的字体 大小和菜单项的 其具体的绘制方法请参考下列代码中的注释 Private Sub MenuItem _DrawItem ( ByVal sender As Object ByVal e As System Windows Forms DrawItemEventArgs ) Handles MenuItem DrawItem Dim rfBound As RectangleF = New RectangleF ( e Bounds X e Bounds Y e Bounds Width e Bounds Height ) 根据DrawItemEventArgs参数获得菜单项矩形区域并存储到RectangleF类型实例中 Dim rfBound As Rectangle = New Rectangle ( e Bounds X e Bounds Y e Bounds Width e Bounds Height ) 根据DrawItemEventArgs参数获得菜单项矩形区域并存储到Rectangle类型实例中 Rectangle类型实例和RectangleF类型实例差不多 但在后面代码中绘制菜单的函数是有区别的 e Graphics FillRectangle(New SolidBrush(Color LightGreen) rfBound) 以LightGreen色彩填充MenuItem 菜单项对应的矩形区域 Dim s As MenuItem = CType ( sender MenuItem ) Dim s As String = s Text 获得MenuItem 菜单项的名称 Dim sfTemp As StringFormat = New StringFormat ( ) sfTemp Alignment = StringAlignment Center 设定要画的菜单名称的对齐方式 中间对齐 e Graphics DrawString ( s New Font ( 宋体 FontStyle Bold ) New SolidBrush ( Color Black ) rfBound sfTemp ) 以中间对齐方式 指定字体 大小 在指定的矩形区域重画菜单 If e State = ( DrawItemState NoAccelerator Or DrawItemState Selected ) Then 根据菜单项的当前绘制状态来绘制菜单项 e Graphics FillRectangle ( New SolidBrush ( Color LightYellow ) rfBound ) 对菜单项所在的矩形区域进行色彩填充 e Graphics DrawString ( s New Font ( 宋体 FontStyle Bold ) New SolidBrush ( Color Black ) rfBound sfTemp ) 对菜单项名称绘制 End If e DrawFocusRectangle ( ) 在 DrawItemEventArgs参数得到矩形范围内绘制聚焦框 e Graphics DrawRectangle ( New Pen ( New SolidBrush ( Color Black ) ) rfBound ) 对菜单项的矩形区域绘制矩形框End Sub 操作完成后 保存修改 此时再单击快捷键F 运行程序 可得到如图 所示的界面 图 【自己画菜单】运行界面之二 可见绘制的 文件 菜单项并没有完全显示出来 并且后面的菜单项也没有显示 这是因为菜单项的显示区域并没有设定 而缺省的空间又不能完全显示造成的 设定菜单项的显示区域大小是通过MeasureItem事件来完成的 具体操作是在MenuItem 的DrawItem事件后添加下列代码 下列代码是是定义MenuItem 的MeasureItem事件 在此事件中设定菜单项的宽度(当然也可以设定高度等) Private Sub MenuItem _MeasureItem ( ByVal sender As Object ByVal e As System Windows Forms MeasureItemEventArgs ) Handles MenuItem MeasureItem e ItemWidth = 设定菜单项的宽度End Sub 保存上述修改后 单击快捷键F 运行程序可得到图 所示界面 图 【自己画菜单】运行界面之三 可见 文件 菜单项就算绘制出来了 由于其他菜单项没有绘制处理 所以也未显示 其他菜单项的绘制方法和 文件 菜单项的绘制方法基本相似 以下是在上述完成的基础上 对其他菜单项进行绘制 从而得到图 所示菜单的具体实现步骤 图 【自己画菜单】运行界面之四 在Form vb中的MenuItem 的MeasureItem事件处理程序之后添加下列代码 下列代码是定义MenuItem 的DrawItem事件 其功能是对 新建 菜单项重新绘制 Private Sub MenuItem _DrawItem ( ByVal sender As Object ByVal e As System Windows Forms DrawItemEventArgs ) Handles MenuItem DrawItem Dim rfBound As RectangleF = New RectangleF ( e Bounds X e Bounds Y e Bounds Width e Bounds Height ) 根据DrawItemEventArgs参数获得菜单项矩形区域并存储到RectangleF类型实例中 Dim rfBound As Rectangle = New Rectangle ( e Bounds X e Bounds Y e Bounds Width e Bounds Height ) 根据DrawItemEventArgs参数获得菜单项矩形区域并存储到Rectangle类型实例中 Rectangle类型实例和RectangleF类型实例差不多 但在后面代码中绘制菜单的函数是有区别的 e Graphics FillRectangle ( New SolidBrush ( Color LightGray ) rfBound ) Dim s As MenuItem = CType ( sender MenuItem ) Dim s As String = s Text 获得菜单项对应的文本名称 Dim sfTemp As StringFormat = New StringFormat ( ) sfTemp Alignment = StringAlignment Center 设定文本在矩形区域的对齐方式 sfTemp LineAlignment = StringAlignment Center Dim rcText As RectangleF = rfBound rcText Width = e Graphics DrawString ( s New Font ( 宋体 ) New SolidBrush ( Color Blue ) rcText sfTemp ) e Graphics DrawRectangle ( New Pen ( New SolidBrush ( Color LightGray ) ) rfBound ) If e State = ( DrawItemState NoAccelerator Or DrawItemState Selected ) Then e Graphics FillRectangle ( New SolidBrush ( Color LightYellow ) rfBound ) e Graphics DrawString ( s New Font ( 宋体 FontStyle Bold Or FontStyle Underline ) New SolidBrush ( Color Red ) rcText sfTemp ) e Graphics DrawRectangle ( New Pen ( New SolidBrush ( Color Black ) ) rfBound ) e DrawFocusRectangle ( ) End IfEnd Sub MenuItem 的DrawItem事件处理代码之后添加下列代码 下列代码是定义MenuItem 的MeasureItem事件 在此事件中实现设定 新建 菜单项的长度和高度 Private Sub MenuItem _MeasureItem ( ByVal sender As Object ByVal e As System Windows Forms MeasureItemEventArgs ) Handles MenuItem MeasureItem e ItemWidth = 设定菜单项的宽度 e ItemHeight = 设定菜单项的高度End Sub 在完成上述操作步骤后 再在MenuItem 的MeasureItem事件处理程序之后添加下列代码 下列代码是定义MenuItem 的DrawItem事件 其功能是对 打开 菜单项重新绘制 Private Sub MenuItem _DrawItem ( ByVal sender As Object ByVal e As System Windows Forms DrawItemEventArgs ) Handles MenuItem DrawItem Dim rfBound As RectangleF = New RectangleF ( e Bounds X e Bounds Y e Bounds Width e Bounds Height ) 根据DrawItemEventArgs参数获得菜单项矩形区域并存储到RectangleF类型实例中 Dim rfBound As Rectangle = New Rectangle ( e Bounds X e Bounds Y e Bounds Width e Bounds Height ) 根据DrawItemEventArgs参数获得菜单项矩形区域并存储到Rectangle类型实例中 Rectangle类型实例和RectangleF类型实例差不多 但在后面代码中绘制菜单的函数是有区别的 Dim s As MenuItem = CType ( sender MenuItem ) Dim s As String = s Text Dim sfTemp As StringFormat = New StringFormat ( ) sfTemp Alignment = StringAlignment Center sfTemp LineAlignment = StringAlignment Center Dim rcText As RectangleF = rfBound rcText Width = e Graphics DrawString ( s New Font ( Veranda ) New SolidBrush ( Color Blue ) rcText sfTemp ) e Graphics DrawRectangle ( New Pen ( New SolidBrush ( Color LightGray ) ) rfBound ) If e State = ( DrawItemState NoAccelerator Or DrawItemState Selected ) Then e Graphics FillRectangle ( New SolidBrush ( Color LightYellow ) rfBound ) e Graphics DrawString ( s New Font ( Veranda FontStyle Bold Or FontStyle Underline ) New SolidBrush ( Color Red ) rcText sfTemp ) e Graphics DrawRectangle ( New Pen ( New SolidBrush ( Color Black ) ) rfBound ) e DrawFocusRectangle ( ) End IfEnd Sub MenuItem 的DrawItem事件处理代码之后添加下列代码 下列代码是定义MenuItem 的MeasureItem事件 在此事件中实现设定 新建 菜单项的长度和高度 Private Sub MenuItem _MeasureItem ( ByVal sender As Object ByVal e As System Windows Forms MeasureItemEventArgs ) Handles MenuItem MeasureItem e ItemWidth = 设定菜单项的宽度 e ItemHeight = 设定菜单项的高度End Sub 在上述步骤都正确完成后 本文介绍的手工绘制菜单就完成 此时单击快捷键F 运行 程序就可以得到图 所示的运行界面 六.总结 本文主要内容是介绍VB NET设计和创建菜单 其中不仅介绍了使用菜单设计器来静态设计菜单 还介绍了使用MainMenu类 MenuItem类和ContextMenu类动态创建菜单的实现方法 在动态创建时 首先要了解要创建的菜单类型 是下拉菜单 首先要创建一个MainMenu实例 是弹出菜单 首先要创建一个ContextMenu实例 然后根据菜单中的组成结构 即菜单项中的父子关系 创建出相应菜单 最后就是显示出菜单 如果是下拉菜单 指派给Form的Menu属性 如果是弹出菜单 指派给可视组件或Form的ContextMenu属性 这样动态创建菜单才能够显示出来 动态创建菜单的工作才算完成 此外还介绍了在Visual Basic Net中绘制个性化菜单的实现方法和注意事项 在绘制个性化菜单时最重要的是掌握DrawItem事件和MeasureItem事件用法 及绘制菜单时所要使用到的方法 虽然本文绘制的菜单并不美观 但你可以通过本文介绍的方法来修改 从而实现更美观 更有个性的菜单 最后请记住 在绘制菜单时 首先把菜单项的 OwnerDraw 属性设定为 True lishixinzhi/Article/program/net/201311/15454
我学习过VB6,现在我想学VB.net。应该从哪学起
vb的应用范围一般是桌面应用程序。其开发效率高,但是如果不用api的话,程序的外观很死板,不灵活。用api又太难。现在已经没多少人用vb开发商业程序了,微软也放弃了对vb的ide系列的支持。不过其入门简单,适合编程初学者。vb.net的应用范围是基于.framework框架的程序(就是说只有在安装了.framework框架的操作系统上才能运行),包括网站。它是.net平台的一种语言。和vb有很多相似的地方,它的出现是为了方便传统的vb程序员向.net转化。也不难。
vb.net怎么动态创建access数据库和表
追问: 只有那个办法? 回答: 是,这跟SQL Server不同,ACCESS是独立文件的,而且它能支持的SQL语句有限,一般是使用ACCESS来创建,若要动态创建,只能用ADO了,但Sql Server就不同了,它可以执行复杂的SQL语句,相对来说,动态创建数据库和表,要比ACCESS方便。 追问: 创建表的话能用SQL语句了吗? 回答: 没试过,应该不行 追问: 那你能告诉我下怎么创建表吗?创建数据库我会了 回答: 可以使用DAO对象来操作,注意是DAO对象,不是ADO对象! 追问: 能不能详细说下过程呢?创建表的过程 回答: 创建表的过程用DAO.net和ADO.net都可以,创建数据库可以用DAO对象,既然你已经可以创建数据库,那么创建表只要先连接到这个数据库,然后用create table语句来执行就行了,可以使用OledbConnection先连接这个库,接着用OledbCommand对象的ExecuteNonQuery来执行create table语句即可。
vb.net的安装怎么去安装?选择什么
步骤一:打开需要制作安装程序的VB.Net项目点击菜单【文件—新建项目】出现如图01的对话框单击【其他项目类型—安装和部署】选择【安装项目】如图: 步骤二:双击【My Project】(在“解决方案资源管理器”里面呢),如图所示。 步骤三3:单击【引用】选项卡,查看解决方案的引用项,关注一下.Net类型的引用,本解决方案引用.Net类型的版本是2.0版。查看这个信息直接关系到最终安装文件的大小。右键单击“解决方案资源管理器”中【Setup1】,选择【添加—项目输出】,选择“主输出”后单击【确定】。再次右键点击【Setup1】,选择【属性】,跳出对话框。步骤四:这里的设置可是关键中的关键步骤五:“选择要安装的系统必备组件”,解决的是运行可执行文件环境的问题运行使用VB.Net编写的程序,必须在系统中安装.Net Framework(也有软件使用虚拟环境运行的)。“查看引用”查到的信息就用到了。如果解决方案只是引用了2.0版本的框架(.Net Framework),默认的系统组件选择。可以选择框架3.5,建议使用框架2.0,因为框架2.0大小是30M,而框架3.5却有300M之巨.指定系统必备组件的安装设置”这个选项也挺有用。如果编写了一个很简单的程序,想发布(此发布不是前述的发布)出去让大家使用,而又不想拖着少则几十兆多则几百兆的框架的话,那么可以选择第一个互斥按钮。如果担心用户在安装程序时上网不方便,不能从供应 商那儿下载框架的话,那么,只好把框架拖上喽(这也是为什么在能选择框架2.0的时候莫要选择框架3.5的原因,安装程序越小越好,用户如果安装了几百 兆的程序,发现打开的只是个简单的计算器的话,会气的摔键盘的!)
vb.net 创建文件夹和删除文件夹
Private Sub btnRemovePath_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRemovePath.Click
Try
' 先建立目录以便用于后续的删除示范。
If Not Directory.Exists("D:\网易") Then
Directory.CreateDirectory(" D:\网易 \Test1")
Directory.CreateDirectory(" D:\网易 \Test2")
Directory.CreateDirectory(" D:\网易 \Test3")
End If
' 删除子目录 Test1。
Directory.Delete(" D:\网易 \Test1", True)
' 删除子目录 Test2。
Dim myDirectoryInfo As New DirectoryInfo(" D:\网易 \Test2")
myDirectoryInfo.Delete(True)
' 将目录 C:\AlexDirDemo 及其以下的文件和子目录全数删除。
Directory.Delete(" D:\网易 ", True)
Catch ex As Exception
MessageBox.Show(ex.Message)
Exit Sub
End Try
' 启动 Windows 资源管理器。
Process.Start("explorer.exe", "D:\")
End Sub