百眼通 / 03VB和VB.NET-... / VB.net学习笔记(二)vb.net界面

0 0

   

VB.net学习笔记(二)vb.net界面

2014-10-31  百眼通

1、解决方案、项目、程序集、命名空间

恼火,书上一笔带过。还是有人写过一个比较清楚,百度是好老师。

初学者很容易把这些概念搞混淆。先说说项目(Project),通俗的说,一个项目可以就是你开发的一个软件。

在.Net下,一个项目可以表现为多种类型,如控制台应用程序,Windows应用程序,类库(Class Library),

Web应用程序,Web Service,Windows控件等等。如果经过编译,从扩展名来看,应用程序都会被编译为.exe文件,

而其余的会被编译为.dll文件。既然是.exe文件,就表明它是可以被执行的,表现在程序中,这些应用程序都有一个主程序入口点,

即方法Main()。而类库,Windows控件等,则没有这个入口点,所以也不能直接执行,而仅提供一些功能,给其他项目调用。


在Visual Studio.Net中,可以在“File”菜单中,选择“new”一个“Project”,来创建一个新的项目。例如创建控制台应用程序。

注意在此时,Visual Studio除了建立了一个控制台项目之外,该项目同时还属于一个解决方案(Solution)。

这个解决方案有什么用?

如果你只需要开发一个Hello World的项目,解决方案自然毫无用处。但是,一个稍微复杂一点的软件,都需要很多模块来组成,

为了体现彼此之间的层次关系,利于程序的复用,往往需要多个项目,每个项目实现不同的功能,最后将这些项目组合起来,

就形成了一个完整的解决方案。形象地说,解决方案就是一个容器,在这个容器里,分成好多层,好多格,用来存放不同的项目。

一个解决方案与项目是大于等于的关系。建立解决方案后,会建立一个扩展名为.sln的文件。


在解决方案里添加项目,不能再用“new”的方法,而是要在“File”菜单中,选择“Add Project”。添加的项目,可以是新项目,

也可以是已经存在的项目。


程序集叫Assembly。学术的概念我不想提,通俗的角度来说,一个项目也就是一个程序集。从设计的角度来说,

也可以看成是一个完整的模块(Module),或者称为是包(Package)。因此,一个程序集也可以体现为一个dll文件,

或者exe文件。怎样划分程序集也是大有文章的,不过初学者暂时不用考虑它。


命名空间,常用如下:

System                      根命名空间,提供所有应用程序都使用的功能,如类型、回收器、属性、异常等。

System.Data            实现ADO.Net功能,数据访问

System.Drawing       提供GDI+功能

System.Windwos.Forms      提供创建窗体应用程序功能

System.XML             处理XML的类

在引用文件夹中的体现 :










2、大纲显示(分级显示)、智能感应


大纲显示(有些翻译为分级显示,搞得查看N久,只有这个),可以折叠显示代码,让视觉更清爽。

智能感应,利于我们这样不常用的人。

大纲显示除了系统定义的外,还可以人为定义

#region "这个是我定义的区域折叠"

.......................'可折叠的代码

#end region  








3、程序集AssemblyInfo.vb


这是程序集的属性,一些产品标识、版本控制,不是用代码来设置的,是通过属性设置后体现在这里面。









4、窗体文件(Form1.Designer.vb)

VB6的窗体文件后缀名是frm,是不能用文本打开。VB.net可以打开:


打开后如下:

  1. <Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _  
  2. Partial Class Form1  
  3.     Inherits System.Windows.Forms.Form  
  4.   
  5.     'Form 重写 Dispose,以清理组件列表。  
  6.     <System.Diagnostics.DebuggerNonUserCode()> _  
  7.     Protected Overrides Sub Dispose(ByVal disposing As Boolean)  
  8.         Try  
  9.             If disposing AndAlso components IsNot Nothing Then  
  10.                 components.Dispose()  
  11.             End If  
  12.         Finally  
  13.             MyBase.Dispose(disposing)  
  14.         End Try  
  15.     End Sub  
  16.   
  17.     'Windows 窗体设计器所必需的  
  18.     Private components As System.ComponentModel.IContainer  
  19.   
  20.     '注意: 以下过程是 Windows 窗体设计器所必需的  
  21.     '可以使用 Windows 窗体设计器修改它。  
  22.     '不要使用代码编辑器修改它。  
  23.     <System.Diagnostics.DebuggerStepThrough()> _  
  24.     Private Sub InitializeComponent()  
  25.         Me.TextBox1 = New System.Windows.Forms.TextBox()  
  26.         Me.Button1 = New System.Windows.Forms.Button()  
  27.         Me.SuspendLayout()  
  28.         '  
  29.         'TextBox1  
  30.         '  
  31.         Me.TextBox1.Location = New System.Drawing.Point(21, 16)  
  32.         Me.TextBox1.Name = "TextBox1"  
  33.         Me.TextBox1.Size = New System.Drawing.Size(99, 21)  
  34.         Me.TextBox1.TabIndex = 0  
  35.         '  
  36.         'Button1  
  37.         '  
  38.         Me.Button1.Location = New System.Drawing.Point(144, 16)  
  39.         Me.Button1.Name = "Button1"  
  40.         Me.Button1.Size = New System.Drawing.Size(75, 23)  
  41.         Me.Button1.TabIndex = 1  
  42.         Me.Button1.Text = "Button1"  
  43.         Me.Button1.UseVisualStyleBackColor = True  
  44.         '  
  45.         'Form1  
  46.         '  
  47.         Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 12.0!)  
  48.         Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font  
  49.         Me.ClientSize = New System.Drawing.Size(244, 149)  
  50.         Me.Controls.Add(Me.Button1)  
  51.         Me.Controls.Add(Me.TextBox1)  
  52.         Me.Name = "Form1"  
  53.         Me.Text = "Form1"  
  54.         Me.ResumeLayout(False)  
  55.         Me.PerformLayout()  
  56.   
  57.     End Sub  
  58.     Friend WithEvents TextBox1 As System.Windows.Forms.TextBox  
  59.     Friend WithEvents Button1 As System.Windows.Forms.Button  
  60.   
  61. End Class  

第一部分是重写释放资源

第二部分组件的初始化

         先添加新控件

         再分别设置初始值(TextBox1,Button1)

         最后加入控件集合中

       注意,为了提高效率,先用SuspendLayout()暂停布局,在所有设置妥当后,再ResumeLayout()恢复布局,

第三部分(最后两句)指明响应相应控件的事件








5、Debug和Release版本

Visual Studio 2012 项目中,程序的发行版本和调试版本使用不同的配置。

 顾名思义,生成调试版本的目的是用于调试,而生成发行版本的目的是用于版本的最终分发。

如果您使用 Visual Studio 创建程序,Visual Studio 会自动创建这些配置并设置适当的默认选项和其他设置。 在默认设置下:
            程序的“调试”配置用全部符号调试信息编译,不进行优化。 优化会使调试复杂化,因为源代码和生成的指令之间的关系更加复杂。
            程序的“发布”配置被完全优化,不包含任何符号调试信息。 根据使用的编译器选项,可在 [OBSOLETE] 程序数据库文件 (C++)中生成调试信息。

                      如果以后还必须调试发行版本,创建 PDB 文件就非常有用。

可使用“标准”工具栏或配置管理器在发行版本和调试版本之间进行切换。









    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。如发现有害或侵权内容,请点击这里 或 拨打24小时举报电话:4000070609 与我们联系。

    猜你喜欢

    0条评论

    发表

    请遵守用户 评论公约

    类似文章
    喜欢该文的人也喜欢 更多