@sunruisunrui 我基本都是用这种的 If 表达式 Then 不过,以下这种情况也还是用得多的 If bInit = False Then '初始化数据(包括变量各值) bInit = True 'bInit设为True,后面再执行这个If就不会再执行初始化 end if 'bInit=True就直接执行后面的代码 如果是为了兼容C++写的接口比如(If mo.active then )可以省掉=True。主要是语言不同,C、C++设计时True为1,False为0,所以bool用一个字节就可以。而VB6可能考虑其他原因,将True为-1,所以需要两个字节。语言设计者的目的不同,反正只要知道了这点区别,写代码时注意点,想怎么写都是可以的