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

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

作者:闵涛 文章来源:闵涛的学习笔记 点击数:2232 更新时间:2009/4/23 19:01:07
MyBase 关键字的行为类似于引用类的当前实例的基类的对象变量。MyBase 常用于访问在派生类中被重写或隐藏的基类成员。

在上述代码中,MyBase指的当然就是System.Windows.Forms.Form类了。

从而我们可以知道,在sub new中声明的mybase.new意图在于在form3构造时继承下System.Windows.Forms.Form类的初始化内容。同样的MyBase.dispose的作用在于利用基类System.Windows.Forms.Form的析构方法来进行析构。

总结一下,现在的窗体是一个确确实实的类了,我们应该换个眼光来看待vb.net中的form了。忘掉那个vb中的form用法吧,它只不过是System.Windows.Forms.Form类的一个实例呀。

那么,回到开头的问题,怎么样来在vb.net中实现在Form1中调用Form2的功能呢?只要把类引用到实例就可以了:

Dim frm2 As New Form2()  ‘定义Form2类的一个实例

        frm2.Show()         ‘通过实例去调用类的方法,同样不讨论模式问题

是不是很简单,那么我再简单引申一下,当我们声明frm2时用到了New,自然是利用form2类中的sub new来构造这个frm2。那么我们在哪里来调用dispose来析构new出来的frm2呢?

Form.Dispose方法是重写自Control.Dispose方法的,那么Control.Dispose方法的含义又是怎么样的?它的作用就是:释放由Control占用的非托管资源,还可以另外再释放托管资源。当它参数中的[Visual Basic]

disposingtrue 则释放托管资源和非托管资源;为 false 则仅释放非托管资源。 Form类的disposing为true

在关闭窗体时自动调用dispose的功能是得益于.net的公共语言运行库,运行库自动处理对象布局和管理对对象的引用,当不再使用对象时释放它们。其生存期以这种方式来管理的对象称为托管数据。自动内存管理消除了内存泄漏以及其他一些常见的编程错误。当然它也不是万能的,这不是本文讨论的重点,先按下不表。

任何类型的 Dispose 方法都应该释放它拥有的所有资源。它还应该通过调用其父类型的 Dispose 方法释放其基类型拥有的所有资源。该父类型的 Dispose 方法应该释放它拥有的所有资源并同样也调用其父类型的 Dispose 方法,从而在整个基类型层次结构中传播该模式。要确保始终正确地清理资源,Dispose 方法应该可以被多次安全调用而不引发任何异常。

当我们关闭一个窗口的时候,会发出一个终止响应,并将该窗口对象(就象上面定义的frm2)送入终止队列,公共语言运行库的垃圾回收器跟踪着这个对象的生存期,此时就会调用此对象基类(比如Form2)的Dispose方法,用于销毁对象并收回资源。

如果通过Dispose还释放不干净或没有调用Dispose,系统的垃圾回收器会调用对象的 Finalize 方法进行清除。由于执行 Finalize 方法会大大减损性能,所以我们不会一开始就用它去进行清除工作。

通过这一小节,希望您已经建立起一个概念,vb.net中连窗口都成了一个实实在在的类,而且提供了一整套完整的类的解决方案,一改vb6中不能实现类继承的缺陷。下一节中,我们将开始进行多窗体编程的讨论。

 

----

  声明:本文版权与解释权归韩睿所有,如需转载,请保留完整的内容及此声明。

QQ: 18349592

上一页  [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……
    咸宁网络警察报警平台