此代码应该在表单中收集10个数字并计算平均值。当我按下计算按钮时,显示出来。为什么? *编辑我刚刚开始编程,所以我不太了解
Public Class Form1
Public Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
End Sub
Public Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
End Sub
Public Sub Label1_Click(sender As Object, e As EventArgs) Handles Label1.Click
End Sub
Public Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim TextBox1, TextBox2, TextBox3, TextBox4, TextBox5, TextBox6, TextBox7, TextBox8, TextBox9, TextBox10 As Integer
Dim Calc As String
Dim textbox11 As String
Calc = TextBox1 + TextBox2 + TextBox3 + TextBox4 + TextBox5 + TextBox6 + TextBox7 + TextBox8 + TextBox9 + TextBox10 / 10
TextBox11 = Calc
End Sub
Public Sub TextBox11_TextChanged(sender As Object, e As EventArgs) Handles TextBox11.TextChanged
Dim TextBox1, TextBox2, TextBox3, TextBox4, TextBox5, TextBox6, TextBox7, TextBox8, TextBox9, TextBox10 As Integer
Dim Calc As String
Dim textbox11 As String
Calc = TextBox1 + TextBox2 + TextBox3 + TextBox4 + TextBox5 + TextBox6 + TextBox7 + TextBox8 + TextBox9 + TextBox10 / 10
textbox11 = Calc
End Sub
结束班
答案 0 :(得分:0)
你有两个问题:@David Tansey已经覆盖了一个问题,即你试图将文本框控件添加到一起,而不是它们的值。另一个是你只将最后一个值除以10。
您需要将所有值放在括号中:
Calc = (TextBox1.Text + TextBox2.Text + TextBox3.Text + TextBox4.Text + TextBox5.Text + TextBox6.Text + TextBox7.Text + TextBox8.Text + TextBox9.Text + TextBox10.Text) / 10
这仍然有很多可能出错,例如如果一个值不能被视为一个数字,那就是另一个完整的对话。
答案 1 :(得分:0)
您已声明10个整数,其名称与您表单上的TextBox名称相同
您的代码对TextBox值的整数进行求和。
您可以删除整数的声明,并在将它们转换为整数值
Public Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim Calc As Integer
Calc = (Convert.ToInt32(TextBox1.Text) + _
Convert.ToInt32(TextBox2.Text) + _
Convert.ToInt32(TextBox3.Text) + _
Convert.ToInt32(TextBox4.Text) + _
Convert.ToInt32(TextBox5.Text) + _
Convert.ToInt32(TextBox6.Text) + _
Convert.ToInt32(TextBox7.Text) + _
Convert.ToInt32(TextBox8.Text) + _
Convert.ToInt32(TextBox9.Text) + _
Convert.ToInt32(TextBox10.Text)) / 10
TextBox11.Text = Calc.ToString
End Sub
注意整个总和的括号和除以结果的除以10 当然这只是一个例子。还存在正确验证输入字段的问题。如果键入无法转换为整数的内容,则此代码将失败。
您可以使用Int32.TryParse方法解决此问题,以检查文本框中的值是否为整数值。
答案 2 :(得分:0)
为避免重复,您可以这样做:
Calc = {TextBox1, TextBox2, TextBox3, TextBox4, TextBox5,
TextBox6, TextBox7, TextBox8, TextBox9, TextBox10}.
Select(Function(txt) Convert.ToDouble(txt.Text)).Average
现在这仍然有很多重复,因此我建议您将文本框分组到一个共同的父级,例如面板或组框。然后使用
而不是上面的数组pnlTextBoxes.Controls.OfType(Of TextBox)
使用这种方法,您可以增加或减少设计器中TextBox的数量 - 此代码将自动调整并始终为您提供正确的答案。