2016-08-05 98 views
0

我在Windows窗體中試圖實現的目的是讓我的按鈕根據計算出的變量計算標籤輸出,但是如果文本框中給出的變量doesn與代碼中列出的內容不匹配,會出現一個消息框,顯示錯誤,並且標籤由於匹配失敗而具有不同的輸出。使用Select Case/Case Else邏輯產生某些結果時出現問題

下面是一些代碼,以幫助進一步解釋我正在使用的內容以及我收到的錯誤的描述。

我有一些代碼,使一個變量,發現有號碼串輸入,找到輸出文本框:

Dim var1 As String 
Dim Sb As String 
Sb = Textbox1.Text 
var1 = Sb.Substring(0, 3) 

然後我把這個結果給一個標籤,並嘗試使用它再創造下一個標籤或顯示這些URL稱沒有使用此代碼錯誤:

Select Case var1 
    Case var1 = "(result1)" Or "(result2)" Or "(result3)" 
    Dim var2 As String 
    var2 = "(Value)" 
    varlabel.Text = var2.ToString 
    Case Else 
    Messagebox.Show("Error occured, input not found.") 
End Select 

我遇到的問題是,當我運行按鈕的代碼,第一個標籤將計算和發佈成功,但第二個標籤不會正確發佈a nd仍然會顯示消息框,即使我正在爲代碼運行提供正確的輸入。任何人都可以闡明我在這裏失去的東西嗎?

回答

0

這不會做你想要它做的事情:

Case var1 = "(result1)" Or "(result2)" Or "(result3)" 

我只能假設你已經沒耐心閱讀了Select Case的文檔,甚至嘗試。它應該是:

Case "(result1)", "(result2)", "(result3)" 

如果您有問題,請務必先閱讀文檔。

https://msdn.microsoft.com/EN-US/library/cy37t14y(v=VS.140,d=hv.2).aspx

+0

謝謝您的幫助,這成功的工作!自從我瘋狂地對If/Then/Else與Case/Case Else方法進行研究以來,我只是混淆了一下,我很欣賞向正確方向發展。 –

+0

這仍然不能用於If語句。該代碼會嘗試將每個「String」轉換爲「Boolean」或三個「布爾」值,然後將該變量與該值進行比較。 'If'應該是'If var1 =「(result1)」OrElse var1 =「(result2)」OrElse var1 =「(result3)」Then'。 – jmcilhinney