[VB2008] 一個問題...

看板Visual_Basic作者 (阿澄)時間16年前 (2010/01/03 01:38), 編輯推噓2(205)
留言7則, 4人參與, 最新討論串1/1
大家好我是程式設計新手 每次上板都覺得大家很強啊!(程式碼沒一句看得懂的= =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
直接買本vb2008的書吧~~先搞懂vb2008環境架構在去寫你要的程
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
好先進的版本...看著問題百出的VB6...換或不換都是問題...
01/03 14:07, 5F

01/04 11:14, , 6F
問題出在你用Or運算子, 數字可以和用Or作運算, 字串是不可
01/04 11:14, 6F

01/04 11:14, , 7F
以的...把它拆成多行即可
01/04 11:14, 7F
文章代碼(AID): #1BFuI3N3 (Visual_Basic)