Visual studio Visual Basic中的无按钮温度转换器?

Visual studio Visual Basic中的无按钮温度转换器?,visual-studio,Visual Studio,这就是我的代码。我们的任务是创建一个不带按钮的温度转换器——因此,当我在华氏框中输入时,它会在摄氏框中自动转换为摄氏度。我决定这样做的方式是使用if语句——我的教授说我不允许这样做,因为我们还没有学会它。我现在的问题是,这两个TextChanged事件相互竞争——因此,当我输入一个时,它会计算另一个,然后计算另一个,然后继续进行并弄乱数字。我不允许使用“if语句”。他对我的问题(是否可以使用if语句)的回答是“添加if语句将与TextChanged事件一起解决问题。但是,现在,让我们假设我们不知

这就是我的代码。我们的任务是创建一个不带按钮的温度转换器——因此,当我在华氏框中输入时,它会在摄氏框中自动转换为摄氏度。我决定这样做的方式是使用if语句——我的教授说我不允许这样做,因为我们还没有学会它。我现在的问题是,这两个TextChanged事件相互竞争——因此,当我输入一个时,它会计算另一个,然后计算另一个,然后继续进行并弄乱数字。我不允许使用“if语句”。他对我的问题(是否可以使用if语句)的回答是“添加if语句将与TextChanged事件一起解决问题。但是,现在,让我们假设我们不知道if语句(使用布尔值)。此外,如果为textbox选择正确的事件,也不必太复杂。”所以…如果没有if语句或需要按键的事件,我真的不知道如何继续。我给他发了电子邮件,告诉他我的问题(说我不知道如果没有if语句或按下按钮(这会取消自动转换))他还说,当我询问按键事件时,“你离答案太近了。按键事件要求您在按键工作之前按住按键。其他重要事件呢?我相信你很快就会找到解决办法。”


有人能帮我吗?

你试过按键事件吗?这里有一个例子:

你可以用很多方法来做这件事,例如,当输入字段失去焦点时,你可以计算温度,或者你需要在每次按键时做什么?无论哪种方法,你都需要一个事件处理程序
Public Class Form1
  Private Sub FahrenheitTextBox_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FahrenheitTextBox.TextChanged
    CelsiusTextBox.Text = 5 / 9 * (Val(FahrenheitTextBox.Text) - 32)
  End Sub

  Private Sub CelsiusTextBox_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CelsiusTextBox.TextChanged
    FahrenheitTextBox.Text = (9 / 5) * Val(CelsiusTextBox.Text) + 32

  End Sub
  End Class