Andrew_VK
07-01-2016, 00:54
Понял необходимость умения писать несложные расчетные программы.
Это первая.
Вопрос - хотелось бы получать результат вычисления сразу в обоих TextBox-ах (3 и 4) не дожидаясь перевода фокуса (или перемещения курсора в эти поля).
Например: в ТВ1 пишется некоторое значение, после этого пишется значение в ТВ2. В ТВ3 и 4 выводятся результаты.
В данном случае решается треугольник, и значения могут быть любыми. Так, если значения будут 20 и 100, то в ТВ1 вписывается соответственно 20, а в ТВ2 будет вписываться 100. Но, хотелось бы, чтобы значения ТВ3 и 4 менялись сразу же после занесения 1, потом 0 и опять 0.
Буду благодарен за пример "как надо" для дальнейшего изучения и применения (я же только учусь).
Пример программы ниже (Visual Basic Express 2010):
Public Class Form1
Dim X, Y, radians, result, angle As Double
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
End Sub
Private Sub TextBox1_TextChanged(sender As System.Object, e As System.EventArgs) Handles TextBox1.TextChanged
X = Val(TextBox1.Text)
End Sub
Private Sub TextBox2_TextChanged(sender As System.Object, e As System.EventArgs) Handles TextBox2.TextChanged
Y = Val(TextBox2.Text)
End Sub
Private Sub TextBox3_TextChanged(sender As System.Object, e As System.EventArgs) Handles TextBox3.TextChanged
radians = Math.Atan(Y / X)
angle = radians * (180 / Math.PI)
result = 90 - angle
TextBox3.Text = Math.Round(result, 4)
End Sub
Private Sub TextBox4_TextChanged(sender As System.Object, e As System.EventArgs) Handles TextBox4.TextChanged
TextBox4.Text = Math.Round(result * 2, 4)
End Sub
End Class
Это первая.
Вопрос - хотелось бы получать результат вычисления сразу в обоих TextBox-ах (3 и 4) не дожидаясь перевода фокуса (или перемещения курсора в эти поля).
Например: в ТВ1 пишется некоторое значение, после этого пишется значение в ТВ2. В ТВ3 и 4 выводятся результаты.
В данном случае решается треугольник, и значения могут быть любыми. Так, если значения будут 20 и 100, то в ТВ1 вписывается соответственно 20, а в ТВ2 будет вписываться 100. Но, хотелось бы, чтобы значения ТВ3 и 4 менялись сразу же после занесения 1, потом 0 и опять 0.
Буду благодарен за пример "как надо" для дальнейшего изучения и применения (я же только учусь).
Пример программы ниже (Visual Basic Express 2010):
Public Class Form1
Dim X, Y, radians, result, angle As Double
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
End Sub
Private Sub TextBox1_TextChanged(sender As System.Object, e As System.EventArgs) Handles TextBox1.TextChanged
X = Val(TextBox1.Text)
End Sub
Private Sub TextBox2_TextChanged(sender As System.Object, e As System.EventArgs) Handles TextBox2.TextChanged
Y = Val(TextBox2.Text)
End Sub
Private Sub TextBox3_TextChanged(sender As System.Object, e As System.EventArgs) Handles TextBox3.TextChanged
radians = Math.Atan(Y / X)
angle = radians * (180 / Math.PI)
result = 90 - angle
TextBox3.Text = Math.Round(result, 4)
End Sub
Private Sub TextBox4_TextChanged(sender As System.Object, e As System.EventArgs) Handles TextBox4.TextChanged
TextBox4.Text = Math.Round(result * 2, 4)
End Sub
End Class