从VB6 到VB.net 2005(一)

从VB6迁移到VB.NET:我如何用Visual Studio 2022重写并升级那个经典的登录窗口 本文详细介绍了如何将VB6的经典登录窗口迁移到VB.NET平台,使用Visual Studio 2022进行现代化改造。内容涵盖项目结构准备、窗体控件迁移、核心登录逻辑重构、高级功能实现及安全增强实践,特别针对VB.NET的登录界面优化提供了实用技巧和代码示例。 阅读详情

最近由于想给自己的wm5写个小程序,没办法终于碰了一直不想用的.net系列。整体上从.net 2005的vb看来,ms终于恢复了vb的一些特色——程序员更多的关注自身程序功能而不是windows程序结构。这里做些比较性的介绍,说说我自己的心得。

一、编程性

vb6的成功更多的在于程序员可以专心关注自己程序的内部功能,不需要考虑太多的win结构,比如消息映射等操作。只要在相应事件写上处理代码即可。现在的vb.net 2005 仍可以以此思路编程,其他的东东均由系统完成。不同之处在于,以前一个form的代码页是一个个程序function 或者sub 的集合。而现在的form代码页本身就是一个form类。组织形式在form类中仍然和原来相同。

 二、类

vb.net 2005 的类更符合oop的习惯,重载,继承等等一个不少,实在是比以前的类结构用的舒服多了。

三、函数
vb6使用函数有几种方法,1 内置的方法 2 引用类,创建该类的对象,然后使用对象的方法。而vb.net 2005 系统内置的函数还是比较少的,可以说几乎没,大多数都使用.net 库。而.net 库函数使用方面有2种方式,一种方式类似于vb6时代,引用一个类,创建该类的对象,然后调用该对象的方法。另一种方式,被称之为share方式。大致可以这么理解。
假设一个类为ClassA,该类主要作用就是读取文件,返回相关内容,其中有2个方法,F1,F2
假设两个方法均是提供一样的功能,返回文件大小现在定义如下: F1() as long ,F2(Filename as string) as long ,假设,F1返回的是类初始化定义的关联文件的文件大小,而F2则是返回参数中FileName 的大小。F1要返回值,那么需要申明一个对象,将Filename赋值给这个对象的相关属性,再通过F1获得文件大小。但是F2不需要,直接从参数就可以获得相关参数,故ms将这些定义为shared方法,在.net类库中提供的大量的这种shared方法,有效的将这些函数分类好。shared方法很简单,只要将.net的类库imports进去,就可以像用函数一样用这些方法。
上例中,如果我们要使用F1,则需要 Dim obj1 as New ClassA 创见一个对象,然后将FileName赋值给obj1里面的某个属性,然后使用obj1.f1()获得文件大小。但是如果使用F2, 则可以直接使用ClassA.F2(Filename) 获得文件大小。由于引用的Class多,每次写ClassA. 很麻烦,那么就在Form类之前 imports ClassA 那么在之后使用F2,只需要直接写F2(Filename) 就可以了,有点类似以前的with x end with ,但是使用更方便。

发现上面例子太罗嗦

Public Class MyClass
   public Function MyFC(st as string ) as long
   end function
   shared function myfc2(st as string )as long
   end function
End Class

比如上面的myclass类,如果你要用myfc,你需要先
dim myobj as myclass
msgbox  myobj.myfc(st)
而你要调用myfc2那么就简单了
只需要写
msgbox myclass.myfc2(st)就ok了。
或者更狠点
imports myclass
msgbox myfc2(st)
这里的共享方法就可以类比为以前的函数,只是帮这些函数分类放在不同的类库里面而已。

未完待续。。。。

如何使用VS2005的VB.net开发WinCE应用程序 Visual Basic .NET属Basic系语言,其语法特点是以极具亲和力的英文单词为基础标识,以及与自然语言极其相近的逻辑表达,有时候你会觉得写VB.NET代码就好像在写英文句子一样,从这个角度来说,VB.NET似乎是最高级的一门编程语言,当然在Basic系语言中VB.NET也确实是迄今为止最强大的一门编程语言.Visual Basic .NET的应用范围包括windows桌面、web以及当 阅读详情

相关推荐

VB6.0调用WebServices的简单示例

  在.NET平台中期望值最高,广告做的最多的要算是WebServices了。WebServices是Web上的类,与Web应用程序不同的是,这个类不返回HTML页面,只以XML文档返回一个或几个值。因此,任何能够处理XML的应用程序都可以调用其方法和使用其结果。WebServices更多是Internet上的应用,不过小型企业内部系统开发使用WebServices,也有许多好处。个人认为,与CO

vbman2003之学习备忘录 4万+

SpringBoot整合DAG任务调度框架:从零搭建B/S架构ETL工具实战

本文详细介绍了如何使用SpringBoot整合DAG任务调度框架,从零搭建高可用的B/S架构ETL工具。通过DAG实现任务依赖管理和并行执行优化,提升数据处理效率,并涵盖核心设计、状态机实现、实时日志推送等生产级功能,为开发者提供完整的实战指南。

grafana8visual的博客 240

19、从VB6到VB.NET:升级过程全解析

本文详细解析了从Visual Basic 6.0迁移到Visual Basic.NET的全过程,涵盖升级原因、基本步骤、项目文件转换、代码兼容性处理、业务逻辑重构、性能优化以及安全性增强等多个方面。同时提供了实用工具推荐和丰富的代码示例,帮助开发者高效完成项目迁移与升级。

green的博客 396

vb6转vb.net

一直在用vb6写软件,但最近系统要做web版,但之前的业务规则全在代码中写死了,没用使用存贮过程,如果在web端重写规则,则工作量太大,项目时间也不允许,只好把业务规则转到vb.net中。现在的vb.net版本已不支持从vb6转入,不过可以直接把业务规则复制到新的vb.net中,差异很小,基本改改就行。转换过程中以下几点要特别注意:1、vb6中过程调用可以不用括号包围参数,如 add a,b这样是合法的,但vb.net中不支持这种写法,必须是add(a,b)这样变动。2、vb6中支持感叹号(!)形式访问fi

chinaherolts2008的博客 1280

VB.NET 2005中邮件发送功能的实现

在当今的数字化时代,邮件发送技术已成为企业及个人沟通的关键部分。从基本的文本邮件到包含多媒体的复杂通信,邮件发送系统不断进步,以满足日益增长的需求。开发者需要对邮件发送技术有深入的理解,以便在应用程序中集成这一功能。本章我们将探讨邮件发送的基础知识,为后续章节中的具体实现和优化提供理论基础。邮件发送技术涉及到的几个关键组成部分包括邮件客户端、邮件服务器和邮件传输协议。在应用开发中,常用的技术包括POP3, IMAP, SMTP等协议,以及基于这些协议的邮件发送库和API。

weixin_31688273的博客 1143

基于VB2005的.NET TCP/IP服务器侦听实现详解

在现代软件开发中,基于网络的通信已成为各类应用系统不可或缺的一部分。.NET平台通过命名空间提供了对TCP/IP协议栈的深度支持,使得开发者能够高效构建可靠的网络服务。其中,类扮演着构建TCP服务器的核心角色,它封装了底层Socket的复杂操作,如监听端口、接受连接请求等,允许开发者以同步或异步方式接收客户端连接。该类适用于需要长期运行、稳定响应客户端请求的服务场景,如聊天服务器、文件传输服务等,是实现C/S架构通信的基础构件。

weixin_42128315的博客 1063

开始向.Net平台升级

宝钢项目基本已经谈妥,对方要求采用.Net技术,想想也是该升级一下自己的技术了,借这个机会正好。 安装了VS 2005 Team,发现Microsoft的理念还是很不错的,架构也很好,随着学习进一步报道从VB6.0做技术迁移的一些历程吧。...

javababy1 87

vb.net2005

vb.net开发资料 介绍vb.net开发资料

vb3.0 升级vb6.0_将VB6升级到VB.NET(性能改进)

vb3.0 升级vb6.0 I'm currently working for a company where I have to upgrade over 50 VB6 programs to VB.NET 2008. So far I'm about half way through, and I've learned quite a few tric...

cunchi8090的博客 1719

数字太大放不下,高精度来补,如何放下超大数字,以及进制转换,高精度真的超好玩。 洛谷1009,1015

想必大家都遇到过数字大小超过int类型范围的情况,是不是碰到int放不下的数字自然就会想到,long int,long long int,甚至unsigned long long int呢。但是有一些出题者就很可恶,偏要出一些连unsigned long long int也放不下的算法题,应对这些问题时,我们是否有相应的应对方法呢?答案是:当然有,高精度就是一种应对这种问题时很好的解决办法。相信你在看完这篇文章后能对高精度有着更深更好的理解。我会循序渐进的来讲,这样大家也更容易听懂。

2303_79329831的博客 1229

import-im6.q16: attempt to perform an operation not allowed by the security policy `PS‘ @ error/cons

这六个 policy 是使用 XML 格式描述的安全策略。要将其中的限制注释掉,在每个 policy 开始和结束的标记之间添加注释标记“

m0_60657960的博客 1908

在VB6和VB.net中设置桌面墙纸

在VB6中设置墙纸Private Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, ByVal lpvParam As Any, ByVal fuWinIni As Long) As Long

李洪根的blog-专注软件开发技术 5112

从零构建HFSS连接器仿真模型:以SMP接口的精准复现为例

本文详细介绍了如何从零构建HFSS连接器仿真模型,以SMP接口的精准复现为例。通过获取官方模型、导入技巧、信号路径提取和介质结构复现等步骤,帮助工程师避免常见错误,提升高频电路仿真的准确性。文章特别强调了模型精度对仿真结果的影响,并提供了实用的调试和管理建议。

weixin_29041767的博客 429

[VB.NET]VB6能调用VB.net编写的DLL么?

<!--google_ad_client = "pub-8333940862668978";/* 728x90, 创建于 08-11-30 */google_ad_slot = "4485230109";google_ad_width = 728;google_ad_height = 90;//--><script type="text/javascript"

VB.NET学习网-VB.NET实例、VB.NET教程、VB.NET源码下载 1150

别再怕非观测区了!手把手教你用移相法搞定PMSM单电阻FOC的电流重构难题

本文详细解析了永磁同步电机(PMSM)单电阻FOC系统中非观测区的电流重构难题,重点介绍了移相法的工程实践。通过STM32平台的具体实现和调试指南,帮助工程师有效解决相电流检测中的采样窗口不足问题,提升系统稳定性和性能。

weixin_27252001的博客 433

【入门篇】第五章 第一次与 AI Agent 交互

本文介绍了OpenClaw中最基本的用户与AI Agent交互方式,剖析了Agent和Gateway两个核心组件的作用,通过简单示例展示了从用户请求到结果返回的完整执行流程,说明了最小交互过程对验证系统可用性的重要意义,为后续学习复杂任务执行机制奠定基础。

lanyv的博客 512

VB中调用VB.NET包装类

概述许多组织都有一个重要的 Microsoft Visual Basic 6 代码基,并且试图就该旧式代码作出最好的决断。在决定如何处理 Visual Basic 6 应用程序时,基本有三种选择。可以维持 Visual Basic 6 应用程序的现状,而无需向该旧式应用程序中加入任何新技术。可以将 Visual Basic 6 应用程序完全迁移到 Visual Basic .NET 中。或者,

盛政(kisssy)的专栏 4107

VSCode + Clangd 配置避坑实录:从‘红波浪线’到完美代码提示的完整心路

本文详细记录了VSCode与Clangd配置过程中的常见问题及解决方案,从编译数据库生成到参数调优,帮助C++开发者快速解决代码提示失效、头文件找不到等问题,实现完美代码补全体验。重点介绍了Clangd与LLDB的集成配置及性能优化技巧,适用于Linux和跨平台开发环境。

weixin_28829479的博客 490

用VB.NET 2005编写定时关机程序

笔者最近在网上搜索了一些关于VB.net实现关机、重启、注销的文章,发现大多介绍的是VB.NET2003用API实现这些功能,且在XPsp2环境下无法正常的关机与注销。而对于VB.NET2005的介绍几乎没有。本文章所涉及的知识点有:  1.用vb.net实现关机、重启、注销功能  2.通过使用textbox与timer控件的结合编写定时器功能。  3.为你的程序加上超链接。   本篇文章具有一定

匆匆过客 993

记录一下本地部署Dify的坑

1. 截止2025-3-4为止,请注意,不要直接拉Dify的1.0.0版本。请先试用0.15.3版本。1.0.0有一个bug需要解决。3. 请使用docker-ce 新版本,docker-engine等老版本可能会有部分容器启动脚本执行莫名报错。2. 注意,请使用docker-compose V2版本,或者V1较高版本,否则会导致解析官方yml模板错误。

哈利路亚的收藏夹 5346

Vue3 - 详解实现网站接入微信扫码登录功能,微信授权生成登录二维码用户用手机扫描二维码登陆,微信扫描二维码登录详细流程及示例代码,支持弹框式、浏览器单独新开页显示,最新vue集成微信扫码授权登录!

vue3,nuxt3,PC网站,网页,微信扫码登录,微信登陆,vue3微信扫码登录,获取个人信息,扫码登录后如何获取用户手机号,微信扫码授权登录,vue3详细实现微信扫一扫登陆,pc网页微信登录,vue3集成微信扫码登录,详细流程和示例源码,第三方扫码登录,vue3微信扫码登录怎么新开一页,跳页显示二维码,内嵌登录二维码,iframe,iframe新页面弹出,弹出一个小窗口显示登录二维码,登录报错,微信扫码没反应,解决手机点登录报错没反应,官方文档,手机扫描微信二维码登录网站,最好用的插件,vue-wxlo

🏆 前端领域优质创作者 1万+

[VB.NET]在vb.net 2005 中如何新建web网站

<!--google_ad_client = "pub-8333940862668978";/* 728x90, 创建于 08-11-30 */google_ad_slot = "4485230109";google_ad_width = 728;google_ad_height = 90;//--><script type="text/javascript"

VB.NET学习网-VB.NET实例、VB.NET教程、VB.NET源码下载 971

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

[VB.NET]请问使用VB2005的朋友们

<!--google_ad_client = "pub-8333940862668978";/* 728x90, 创建于 08-11-30 */google_ad_slot = "4485230109";google_ad_width = 728;google_ad_height = 90;//--><script type="text/javascript"

VB.NET学习网-VB.NET实例、VB.NET教程、VB.NET源码下载 569

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Vb.net2005实现屏幕截图功能

Vb.net2005实现屏幕截图功能 思路:先定义一张图像(bitmap),和一个绘图图面(graphics),其中图像的大小可是是屏幕的大小或是想要截取图像的大小,然后把绘图图面指向所定义的图片。例如: Dim pic as new bitmap(1024,768)  //定义了一张1024*768大小的图片Dim mygraphics as graphicsMygrap

topdogs的专栏 5180

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

上一篇: 关于混排文本修改转换系列问题--ASCII & UniCode
下一篇: vb.net 的字符串处理
notback
博客等级 码龄25年 25粉丝 18原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值