- ベストアンサー
戻り値について
学校の課題で分からないところがあります。 教えていただけないでしょうか? VB.Net2002です。 Private Function CheckNumber(ByVal NumTextBox As TextBox) As Boolean If IsNumeric(NumTextBox.Text) Then Return True Else MessageBox.Show("数値を正しく入力してください", Me.Text, MessageBoxButtons.OK, MessageBoxIcon.Error) NumTextBox.SelectAll() NumTextBox.Focus() End If End Function Private Sub ExecButton_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ExecButton.Click If Not CheckNumber(Num1TextBox) Then Exit Sub End If --------------質問----------------------------- ExecButton_Clickプロシージャの If Not CheckNumber(Num1TextBox, Num1) Then の処理内容が分かりません。 CheckNumberでReturn Trueが返ってくるか エラーのメッセージボックスが 表示されるのは分かりますが、 Notで否定してもFalseが返ってくる事はないのでは? ならこの処理は何なのですか? ----------------------------------------------- 長くなってしまいすみません(>_<)
- みんなの回答 (2)
- 専門家の回答
お礼
アドバイスありがとうございました。"^_^"
補足
返事遅くなってすみません。 貼り付けて実行させていたできました。 MsgBox fa(0) の部分なんですが、プロシージャ名に代入したわけでもないし、Returnで返してもいないのにFalseが表示されるのはなぜなんですか? プロシージャはひょっとしてEnd Functionに出会った時点で戻り値の既定値Falseを返すんですか? あと、それならFalseが返ってきたら If Not CheckNumber(Num1TextBox) Then Exit Sub End If の所でFalseじゃなければ処理を抜ける。 TrueならTrueじゃなければ処理を抜ける。 となってしまい、矛盾が生じてしまうのでは? 質問ばかりですね・・・。でも気になるんです!