[VB2008] 一個問題...
大家好我是程式設計新手
每次上板都覺得大家很強啊!(程式碼沒一句看得懂的= =a)
以下我有一個問題
我最近想寫一個程式
其中有一部分功能是
User選擇一個RadioButton之後
按下Button1
Label1物件就會根據選擇的RadioButton不同出現不同的文字
我另外設一個RadioButton4後面接TextBox1
若選擇RadioButton4 Label1顯示TextBox1的內容
為了方便解釋我的問題我將程式簡化:
------------------------------------------------------------------------------
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
Dim x As String
x = If(RadioButton1.Checked, "1", Nothing) Or _
If(RadioButton2.Checked, "2", Nothing) Or _
If(RadioButton3.Checked, "3", Nothing) Or _
If(RadioButton4.Checked, TextBox1.Text, Nothing)
Label1.Text = x
End Sub
End Class
------------------------------------------------------------------------------
這樣寫程式執行完全正常
但是如果把" "內的數字改成中文字或英文字
或是在TextBox1裡輸入非數字的字元
雖然可以執行
但是按下Button1之後就會出現InvalidCastException未處理的訊息
比方說把程式改成:
------------------------------------------------------------------------------
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
Dim x As String
x = If(RadioButton1.Checked, "A", Nothing) Or _
If(RadioButton2.Checked, "你好!", Nothing) Or _
If(RadioButton3.Checked, "Dog", Nothing) Or _
If(RadioButton4.Checked, TextBox1.Text, Nothing)
Label1.Text = x
End Sub
End Class
------------------------------------------------------------------------------
為什麼會這樣呢?為什麼會有這樣的差別?
要怎麼改才能達到我想要的功能?
抱歉第一次在VB板問問題
表達能力不太好寫了落落長希望各位看得懂
麻煩各位幫我解答了!萬分感謝!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 125.230.93.158
→
01/03 02:36, , 1F
01/03 02:36, 1F
→
01/03 10:25, , 2F
01/03 10:25, 2F
→
01/03 10:25, , 3F
01/03 10:25, 3F
→
01/03 11:27, , 4F
01/03 11:27, 4F
推
01/03 14:07, , 5F
01/03 14:07, 5F
推
01/04 11:14, , 6F
01/04 11:14, 6F
→
01/04 11:14, , 7F
01/04 11:14, 7F