作者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