2016-04-14 46 views
-3
If bronzeRadioButton.checked = true then 
    tfRadioButton.visible = false And _ 
    SwimmingRadioButton.visible = false And _ 
    horseRadio button.visible = true 
End If 

....我想使游泳单选按钮不可见,在TF单选按钮变为不可见宏伟,但游泳仍然显示的Visual Basic:单选按钮是可见的,甚至当我将它设置为可见=假

+2

带有VisualStudio的VBA? –

+1

调试(甚至更好)可能更容易将每个'.visible = false'语句分隔到不同的行上。无论如何,将代码压缩成一行通常会让我陷入困境。 – PeterT

+0

@PeterT谢谢,但是当我这样做,它仍然没有工作 –

回答

2

你在混合比较赋值运算符,它们与VB中的相同=令牌。

取出And的并做出3个指令,像这样:

If bronzeRadioButton.checked = true then 'comparison 
    tfRadioButton.visible = false 'assignment 
    SwimmingRadioButton.visible = false 'assignment 
    horseRadioButton.visible = true 'assignment 
End If 

您的代码实际上是说:‘如果青铜单选按钮被选中,那么假’......或‘再真’。除了Then之后的部分不包含指令,只是一个布尔表达式。我很惊讶它甚至编译。


IF我明白你的要求,你可以试试这个:

Dim isChecked As Boolean = bronzeRadioButton.Checked 
tfRadioButton.Visible = Not isChecked 
swimmingRadioButton.Visible = Not isChecked 
horseRadioButton.Visible = isChecked 
+0

谢谢,但它仍然没有工作 –

+0

@KevinFarrell编辑。 –

1

请问:

If bronzeRadioButton.Checked = True Then 
    tfRadioButton.Visible = False 
    SwimmingRadioButton.Visible = False 
    horseRadio button.Visible = True 
End If 

不是你需要什么?