1

我正在创建一个程序来计算平均值。有 12 个文本框,我想创造将某些字段留空的可能性。现在只有错误和程序崩溃。有可能创造吗?

这是代码的一部分:

ItalianoScritto = (TextBox1.Text)
MatematicaScritto = (TextBox2.Text)
IngleseScritto = (TextBox3.Text)
InformaticaScritto = (TextBox4.Text)
ScienzeScritto = (TextBox5.Text)
FisicaScritto = (TextBox6.Text)
MediaScritto = (ItalianoScritto + MatematicaScritto + IngleseScritto + InformaticaScritto + ScienzeScritto + FisicaScritto) / 6
Label10.Text = Str(MediaScritto)

如果我在单击按钮以计算平均值时将textbox1留空

4

2 回答 2

2

我将执行以下操作:遍历文本框并检查是否可以将值解析为迭代器。如果是,请将其添加到值列表中。然后将该列表中的所有值相加,然后除以案例数。它比大型 if 语句更快,并且可以抵抗错误

dim TBList as new list(of Textbox)
'add your textboxes to the list here
TbList.add(Textbox1)
...

dim ValList as new List(Of Integer)
for each elem in Tblist
  dim value as integer
  If integer.tryparse(elem.text,value)=True
    ValList.add(Value)
  else
    'report error or do nothing
  end if
next

dim Result as Integer
Dim MaxVal as Integer =0
for each elem in ValList 
  Maxval +=elem
next

Result = MaxVal / ValList.count

如果您需要对点值的支持,只需选择 double 或 single 而不是 Integer。另外:无论您做什么-检查文本框中的值是否为数字。如果你省略tryparse,有人会输入“A”,你的应用程序会崩溃和烧毁

另外:您选择严格!

于 2013-02-14T11:57:15.623 回答
0

在使用该值之前,您只需检查TextBox每个是否为空白:

If TextBox7.TextLength <> 0 Then
    'Use the value inside
End If

这样做的方式取决于你的很多代码。您应该考虑编辑您的问题以提供更多信息(和代码),以便我们更好地帮助您。

于 2013-02-14T11:39:20.380 回答