以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  boolean不会运算  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=47349)

--  作者:lxhmax
--  发布时间:2014/3/8 17:37:00
--  boolean不会运算
请问下,下面这段代码为什么boolean不会运算?

Dim s As String
s = e.Form.Controls("ComboBox4").Value
Dim b As Boolean
b = e.Form.Controls("Textbox13").Enabled

If  s = "现金" Then
    b = False
ElseIf  s = "协议付费" Then
    b = True
ElseIf  s = "支票" Then
    b = True
End If

--  作者:狐狸爸爸
--  发布时间:2014/3/8 17:41:00
--  

会运算,如果运算结果不正确,可以自己调试分析一下吧:

http://www.foxtable.com/help/topics/1485.htm

 


--  作者:lsy
--  发布时间:2014/3/8 17:42:00
--  
Dim s As String = e.Form.Controls("ComboBox4").Value
Dim b As Boolean
Select Case s
    Case "现金"
         b = False
    Case Else
         b = True
End Select
e.Form.Controls("Textbox13").Enabled = b
 
或者:
e.Form.Controls("Textbox13").Enabled = (e.Form.Controls("ComboBox4").Value <> "现金")
 
再或者:
e.Form.Controls("Textbox13").Enabled = Not(e.Form.Controls("ComboBox4").Value = "现金")
[此贴子已经被作者于2014-3-8 17:45:38编辑过]

--  作者:lxhmax
--  发布时间:2014/3/8 17:51:00
--  
就是一点反应都没有,那我再看看,,
非常感谢 lsy 这么多解答~

--  作者:逛逛
--  发布时间:2014/3/8 18:21:00
--  
以下是引用lxhmax在2014-3-8 17:37:00的发言:
请问下,下面这段代码为什么boolean不会运算?

Dim s As String
s = e.Form.Controls("ComboBox4").Value
Dim b As Boolean
 

If  s = "现金" Then
    b = False
ElseIf  s = "协议付费" Then
    b = True
ElseIf  s = "支票" Then
    b = True
End If
 
 e.Form.Controls("Textbox13").Enabled = b

如果你是想控制 Textbox13 的可用性,好像是把语句写反了


--  作者:lxhmax
--  发布时间:2014/3/8 18:36:00
--  
试了,两个方向的效果是一样的~
--  作者:lsy
--  发布时间:2014/3/8 18:42:00
--  

符合不符合你的要求,不好说,反应肯定是有的。