网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
12月12日漏签0天
vb吧 关注:156,059贴子:1,166,206
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 1 2 3 下一页 尾页
  • 79回复贴,共3页
  • ,跳到 页  
<<返回vb吧
>0< 加载中...

【龟速打字】VB冷知识合集

  • 只看楼主
  • 收藏

  • 回复
  • 泡泡o棉花糖
  • 网络通信
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

吼吼吼大家好我是方程
不知道还有没有人记得我一年多以前发的某个预告帖:

后来这个DUI类模块并没有发布
其实已经写了很多了,但是感觉这个东西并没有达到预期,最重要的是貌似没什么人关注= =就干脆懒得发出来了
于是给VB搞一套DUI一直成了内心一个疙瘩,直到最近才又开始在原来封装的类模块的基础上制作DUI
然而拒绝放假的学校就算坟头补课也不想放清明节。。。这套DUI要制作完遥遥无期。。。
制作DUI的过程中为了用户使用起来更优雅更方便,我翻了一堆MSDN挖了一些VB很少人注意到的有(鸡)趣(肋)特性,现在把它和其他冷知识一起发出来。

(顺便让吧友们窥一下这套DUI的使用姿势)


  • 泡泡o棉花糖
  • 网络通信
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
1.Debug.Assert:根据条件中断程序
VS里的断点有个很好用的功能——根据某个条件来确定是否要中止程序进行调试。
VB6里也有类似的功能,虽然比较初级,但也比设置断点中断程序再把鼠标移上去查看变量强。

当Assert后的表达式为False时,中断切换到调试模式。


2025-12-12 10:59:32
广告
不感兴趣
开通SVIP免广告
  • 泡泡o棉花糖
  • 网络通信
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
2.本地窗口
当你需要查看数组、类时,立即窗口和Debug.Asset对显然就有点不够用了。
在需要包含需要查看的对象的类、窗体、模块中设置断点,切换到调试模式
打开菜单->视图->本地窗口

我在Form里定义了这样一个数组,本地窗口视图如下


点击【+】展开并查看数组内容,你也可以对值进行更改


  • 泡泡o棉花糖
  • 网络通信
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
3.Optional与IsMissing:利用IsMissing判断可选参数是否被选用
这个我不多说了。注意,只有可选参数是变体型时,IsMissing才有效。


  • 泡泡o棉花糖
  • 网络通信
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
4.ParamArray:不定参数数量的参数列表
VB中的Array函数可以让用户传入任意数量的对象,得到这些对象的数组

吼吼吼吼这种不定参数数量的功能自己也可以实现:

不过要注意,ParamArray参数只能声明为变体型,并且不能和可选参数同时使用


  • 涐吢铱舊囿儚
  • 数据库
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
前排围观。


  • 璐村惂鐢ㄦ埛_0748V5Z馃惥
  • 网络通信
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
恩不错,学习了


  • 泡泡o棉花糖
  • 网络通信
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
5.“默认”函数
很多人都知道获取文本框的Text属性时,不必多打一个“.Text”,直接使用文本框的名字就能够返回它的文本了:

很多人可能以为这只是微软爸爸专门为文本框搞的一个特性。其实它叫“默认函数”,大多控件都被设置了默认函数。
比如,按钮的默认函数返回的是一个布尔值,表示按钮是否被按下:

Collection类中,Item被设置为了默认函数,因此你可以用MyCollection(1)代替MyCollection.Item(1):

当然你也可以为你自己制作的类模块、用户控件设置默认函数:
在相应的类或用户控件中打开菜单->工具->过程属性,点击“高级”按钮,界面如下:


在蓝色框圈中的列表框选择要被设置为默认的函数,然后在红色框圈中的“过程属性标识符”下拉框中设置为“(缺省)”
效果如下(上图为类模块中的定义,下图为窗体中的代码):


遗憾的是当设置了默认函数的对象成为另一个对象的子集时,默认函数就无法使用了。
比如,编写一个Class2,在Class2中实例化了定义如上图的类Class1为变量A;
实例化Class2为变量B,你并不能通过" B.A "而只能通过" B.A.MySub "调用这个函数。


2025-12-12 10:53:32
广告
不感兴趣
开通SVIP免广告
  • 泡泡o棉花糖
  • 网络通信
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
6.Implements:通过委派实现继承
VB类的继承一直是一个超级无敌巨几把**的问题——继承了这个类就必须重写这个类的所有成员
Implements更像是一个把现在面向对象语言的“接口”和“继承”糅合在一起的特性,既可以把他当成接口用,又同时能实例化这个“接口”。
那么,如果我想有选择性地重写某个类的方法该怎么办呢?
“通过Implements继承这个类,并且实例化一个这个类,如果不想重写某个函数,就在新编写的类的重写方法中调用这个实例的对应方法”这个过程被MSDN称为“委派”。
MSDN给出的这种方法可以说是十分的省力(只省了微软的)和不要脸了。。。。
但不得不承认这个方法的确可以实现现在面向对象的继承功能,虽然相当麻烦。。。。


  • 泡泡o棉花糖
  • 网络通信
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
吼吼吼,没人,我继续写DUI去了


  • 0819XBW
  • 基本语句
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
有啊很好,继续更


  • oshi001
  • 钩子编程
    15
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
很好很底层的东西,平时用不上来学习


  • 璐村惂鐢ㄦ埛_0748V5Z馃惥
  • 网络通信
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
做个记号。后面几个,我没有用过,没有学过。


  • 0yufan0
  • 小吧主
    12
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
前排留名


2025-12-12 10:47:32
广告
不感兴趣
开通SVIP免广告
  • TERA_ARISU
  • 数据库
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
高端了


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 1 2 3 下一页 尾页
  • 79回复贴,共3页
  • ,跳到 页  
<<返回vb吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示