转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 软件开发 >> VB.NET程序 >> 正文
Henry手记-VB.net WinForm中的FORM初探(一)         ★★★★

Henry手记-VB.net WinForm中的FORM初探(一)

作者:闵涛 文章来源:闵涛的学习笔记 点击数:2231 更新时间:2009/4/23 19:01:07

Henry手记-VB.net WinForm中的FORM初探(一)

韩睿(2002.9.25)

 

经常有网友在我主持的版面上发贴子或写信直接来问我,为什么vb.net和vb6差了这么多。当然,问得最多的就是关于窗体的调用,这也是一个与vb6相比,vb.net具有的变化最大的特征—面向对象(限于篇幅,有关面向对象的基本内容请参看面向对象的书籍)。当有朋友大喊vb.net怎么这么这么……(此处删去两字)时,我只得劝他再忍一下,再深入一点,痛过之后的快意会让他理解更美的世界。

一起开始我们今天的历程吧。对于从vb学起,没有经过C++与Java考验的朋友来说,可能会稍微麻烦一点,有问题请跟我联系吧。

 

一、为什么我的Form Show不出来了?

是不是微软忙晕了?忘了有人有用两个form的需求?当然不可能,if是忘了,那微软就真是疲软了。

曾记否,在vb中想在Form1中调出Form2时是如何的酣畅淋漓:

Form2.show (不讨论模式问题)

但是,在vb.net中再写form2打一点后,出来的属性框中居然没有我们料想中的show了!

原因:Visual Basic .NET 取消了早期版本中的默认窗体实例,并且规定,只有通过引用窗体实例,才能访问窗体的属性、方法及其控件。

原来是这样,在vb.net中窗体也变成了一个类!我们来剖析一下一个窗体的生成代码吧。请用vb.net建立一个Form:Form3。然后看一下代码并一句一句分析一下:紫色的注释是我加的,绿色的是系统自带的。

 

Public Class Form3   ‘类的定义方法

    Inherits System.Windows.Forms.Form  ‘告诉我们此类是继承自何处

#Region " Windows窗体生成的代码  Region指令用于折叠并隐藏 Visual Basic .NET 文件中的代码节。通过这一方法可以更好地规划与书写我们的代码了。

    Public Sub New() ‘类的构造

        MyBase.New() ‘用于从派生类构造函数中显式调用基类构造函数。这个等会还会说明。

        ''''该调用是 Windows 窗体设计器所必需的。

        InitializeComponent()‘如果你的初始化代码有很多行,你可以建立一个子过程来管理这些代码,子过程的名字就是InitializeComponent()。见后面。

        ''''在 InitializeComponent() 调用之后添加任何初始化

    End Sub

 

''''窗体重写处置以清理组件列表。

‘Overloads 关键字用与现有成员相同的名称来声明属性或方法,但参数列表与原始成员不同。Overrides 关键字指定属性或方法将重写从基类继承的成员。这个问题不是很清楚,请查一下面向对象的书中重载与继承的相关内容。笔者计划几天后有空会写一篇《vb.net的继承与接口》,界时会更详细地进行描述。

 

Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)

’类的析构

        If disposing Then

            If Not (components Is Nothing) Then ‘清除组件列表中的内容

                components.Dispose() 

            End If

        End If

        MyBase.Dispose(disposing) 

    End Sub

 

''''Windows窗体所必需的

    Private components As System.ComponentModel.IContainer

‘System.ComponentModel 命名空间提供用于实现组件和控件运行时和设计时行为的类。Icontainer接口提供容器的功能。容器是在逻辑上包含零个或更多个组件的对象。也就是说通过这样的定义,components就成为了可包容当前窗口所有组件的容器了。

   ''''注意:以下过程是 Windows 窗体设计器所必需的

    ''''可以使用 Windows 窗体设计器修改此过程。

    ''''不要使用代码编辑器修改它。

<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()

‘在vb.net中用< >表示特性。能完成一些系统提供的独特功能。

        ''''Form3 以下定义的是初始化窗口的属性内容

        Me.AutoScaleBaseSize = New System.Drawing.Size(6, 14)

AutoScaleBaseSize 属性的值在窗体显示时使用,用来计算该窗体的缩放因子。窗体将自动缩放基大小用作与系统的字体大小进行比较的基准,以确定使用自动缩放时窗体的缩放量。

        Me.ClientSize = New System.Drawing.Size(336, 309)

        Me.Name = "Form3"

        Me.Text = "Form3"

‘用户在窗体上布局控件时,控件的初始化属性也是写在这里的

    End Sub

#End Region

 

End Class

这里补充说明一下MyBase关键字的作用与意义:

[1] [2]  下一页


[C语言系列]C# WinForm 中Label自动换行 解决方法  [电脑应用]c# winform 打包部署 自定义界面 或设置开机启动
[电脑应用]C# WinForm 关闭登陆窗体,打开主窗体的实现  [C语言系列]winform datagridview如何获取选中行的索引
[C语言系列]c# _winform实现网页上用户自动登陆,模拟网站登录  [C语言系列]C#的winform中实现tabPage的隐藏 .
[C语言系列]NET 中C#的switch语句的语法  [C语言系列]C# WinForm中Application.StartupPath与AppDomain…
[系统软件]托拽Explore中的文件到VB.net的窗口  [系统软件]WinForm 程序实现XP风格
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · C语言系列  · VB.NET程序
    · JAVA开发  · Delphi程序
    · 脚本语言
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台