vb 有何区别

来源:百度知道 编辑:UC知道 时间:2024/06/07 10:29:05
If Form2.Check1(dd).Value = 1 Then m = dd
If Form2.Check1(dd).Value = true Then m = dd
这两句有何区别
那为什么输出的结果不一样If Form2.Check1(dd).Value = 1 Then m = dd 这个是正确的呢

默认组件中的Check控件的Value属性是0-UnChecked|1-Checked|2-Grayed

Microsoft Forms 2.0 Object Library组件中的Check控件的Value属性才是True和False

(Value = true 是错的),建议用true,增强程序的可读性.
If Form2.Check1(dd) = true Then m = dd

CheckBox控件的Value属性值:
Value=0——表示未选中
Value=1——表示选中。

而在VB中,False=0 True=-1(而不是1)

所以语句:If Form2.Check1(dd).Value = 1 Then m = dd 与If Form2.Check1(dd).Value = true Then m = dd 不等价。

Form2.Check1(dd).Value 是 Integer 的值,而True是Boolean,这不是一个类型的。

转换一下:
If Form2.Check1(dd).Value = CInt(true) Then m = dd