2013-02-14 87 views
1

我正在創建一個程序來計算平均值。有12個TextBox,我想創建一些空白的可能性。現在只有錯誤和程序崩潰。有可能創造這個?是否可以忽略TextBox?

這部分代碼:

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中,當我點擊按鈕來計算平均Vb的說:演員不是從字符串「」有效的類型「單」和Te TextBox1中的欄變成黃色

+0

崩潰的代碼是什麼樣子,它以什麼方式崩潰?另外,一些關於編寫好問題的提示:http://tinyurl.com/sohints – 2013-02-14 11:35:36

+0

它說: 從字符串「」投射無效,以鍵入「單一」。 – Simbox97 2013-02-14 11:39:40

+0

變量xxxxxScritto的數據類型是什麼?您可以在沒有任何檢查的情況下自由地將字符串值傳遞給潛在的數字變量你有選擇嚴格嗎? – Steve 2013-02-14 11:57:51

回答

0

你只需要檢查TextBox是每一個使用空白前值:

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

這樣做的方式取決於你的很多代碼。你應該考慮編輯你的問題,提供更多信息(和代碼),以便我們更好地幫助你。

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 

如果您需要點值支持,只要選擇雙人或單人,而不是整數。 另外:無論你做什麼 - 檢查文本框中的值是否爲數字。如果你省略了tryparse,有人會輸入「A」,你的應用程序將崩潰並燒燬。

另外:你選擇嚴格!

相關問題