2017-05-08 253 views
1

单选按钮被选中基于我在我建立的一项调查显示很多单选按钮,有代码中显示一条信息调查,如果问题被遗漏:检查是否启用

ElseIf Not (RadioButton237.Checked Or 
      RadioButton238.Checked Or 
      RadioButton239.Checked Or 
      RadioButton240.Checked Or 
      RadioButton241.Checked Or 
      RadioButton242.Checked Or 
      RadioButton243.Checked) Then 

     MsgBox("You missed Question 39") 

但是,我现在需要在某些情况下灰显问题,即:如果组合框选择了“否”,那么此问题会变灰。我想要检查错过的问题的部分忽略这些单选按钮,我试图做这样的事情:

ElseIf((RadioButton237.enabled = True,RadioButton237.Checked = false)或 ....然后消息

但是它似乎并没有工作。任何建议表示赞赏,我希望我的问题是非常明显的。

回答

0

那你有没有尝试过这样的事情?

Elseif ((radioButton237.enabled and Not radioButton.checked) or (radioButtonXXX.enabled and Not radioButtonXXX.ckecked) or (radioButtonYYY.enabled and Not radioButtonYYY.ckecked)) then 
(...) 
+0

我希望这将是一个答案,但它没有工作,我做了elseif的((RadioButton237.Enabled而不是RadioButton237.Checked)或 – user7668852

+0

elseif的(Panel39.Enabled = TRUE且没有(RadioButton237.Checked或者 RadioButton238。选中或 RadioButton239.Checked或者 RadioButton240.Checked或者 RadioButton241.Checked或者 RadioButton242.Checked或者 RadioButton243.Checked))然后 MSGBOX( “你错过了问题39”) 退出小组 – user7668852

+0

我与解决!谢谢你,我确实赞成你,但B/C我有不到15声望它不会显示,再次感谢! – user7668852

1

你可以使用groupbox将问题的答案分组,如果组合框的值为“否”或其他...则禁用分组框,因此groupbox中的控件也被禁用。

然后使用GroupBox.IsEnabled来评估或不是这个问题..我认为让你组织的事情是比较容易跳过问题。但这只是一个快速提示,可能不是最好的方法。

+0

米猜测是他已经有他们分组在一个容器(面板,组框等);其他单选按钮如果全部直接位于表单上,将无法正常工作。 Bur你是对的,OP应该检查容器的状态,而不是单独的每个单选按钮 –

+0

感谢您的建议我能够解决您的建议和下面的答案,我喜欢灰色面板的方式是vs灰色的单选按钮,谢谢! – user7668852

+0

我没有upvote你,但B/C我有少于15声望它不会显示,再次感谢! – user7668852