我正在做家庭作业,我需要设置一个计算器类型的程序。它需要读取一个或两个用户输入值(取决于计算),然后根据值执行计算。
我目前有
tbInput1
和tbInput2
),btnCalc
)label
,其中将显示结果。 两个radioButtons(rbtnTrap
和rbtnFak
)在选中时禁用第一个textBox;另外两个需要输入两个值,因此在选中时启用两个textBox。当相关数量的textBoxes具有值时,btnCalc
应该启用自身 - 相关的textBoxes数量取决于检查哪个单选按钮。
问题在于,当我检查rbtnTrap
或rbtnFak
(停用tbInput1
)并在tbInput2
中输入整数时,btnCalc
会一直处于停用状态。
我会试着解释一下到目前为止:
_TextChanged
的{{1}}事件中,我有下面发布的第二个tbInput1
块的完整副本。 if
仅在选中tbInput1
或rbtnPot
时处于活动状态,因此只有在这种情况下才会运行控件。rbtnFib
的{{1}}事件中,我有以下内容,因为_TextChanged
始终已启用,并且无论哪个单选按钮都必须运行控件如果我检查tbInput2
或tbInput2
而不是rbtnTrap
或rbtnFak
,则控件的运行方式会有所不同。或者那就是我对它的理解。我当然愿意接受建议和更正。
rbtnPot
答案 0 :(得分:2)
因为它是一个家庭作业,我不会给你直接的答案,而是提示:问题出在tbInput2_TextChanged
事件的代码中(你发布的代码)。
选中rbtnTrap
或rbtnFak
后,您的代码将按照您认为不会的路径运行。在tbInput2_TextChanged
代码的第一行设置断点( F9 ),并在{{1}中输入一些文本后逐步运行代码( F10 ) }}。
您会看到为什么按钮tbInput2
按照您的想法启用,但在下一刻禁用。
如果您之后需要更多帮助,请随时发表评论。 :)
修改强>
问题来自您的btnCalc
阻止。选中if
和rbtnTrap
之一时:
rbtnFak
子句中运行,然后执行if
但是...... btnCalc.Enabled = true;
子句中运行(因为else
为false),因此执行(rbtnPot.Checked || rbtnFib.Checked)
。答案 1 :(得分:0)
我不确定我对你的问题有多了解(对不起,解释有点遍布),但我确实看到的一件事是你只在一个地方实施你的测试有两个要检查的控件的事件。
这听起来像是一个简单的问题,但我真的无法理解在哪里实现了什么以及谁应该做什么,所以如果我的2美分以上没用,你可以再次解释这个问题,这可能会有所帮助寻找解决方案