作者killua114 (阿澄)
看板Visual_Basic
標題[VB2008] 一個問題...
時間Sun Jan 3 01:38:05 2010
大家好我是程式設計新手
每次上板都覺得大家很強啊!(程式碼沒一句看得懂的= =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
1F:→ killua114:抱歉第一次問問題 有不合規定的地方麻煩告訴我 謝謝!! 01/03 02:36
2F:→ mraaa:直接買本vb2008的書吧~~先搞懂vb2008環境架構在去寫你要的程 01/03 10:25
3F:→ mraaa:式碼...否則~~板上應該沒有人會回答你的問題~~~ 01/03 10:25
4F:→ killua114:嗯...謝謝! 01/03 11:27
5F:推 Yaiba:好先進的版本...看著問題百出的VB6...換或不換都是問題... 01/03 14:07
6F:推 horngsh:問題出在你用Or運算子, 數字可以和用Or作運算, 字串是不可 01/04 11:14
7F:→ horngsh:以的...把它拆成多行即可 01/04 11:14