したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | メール | |

デリゲートについて(VB2005)

11igoten:2009/04/23(木) 09:48:07
...続き
インデントが無くて読みにくいため、半角スペース2つを全角スペースに置き換えてみました。
  Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) _
      Handles TextBox1.TextChanged
    Static strBstr As String '前の文字列を覚えている
    Static intPos As Integer '前のキャレットの位置を覚えている
    Static boolFlg '文字修正時の再突入を防ぐフラグ
    If boolFlg Then
      Return
    End If
    boolFlg = True
    'TextBox1.Text(i)でi番目の一文字を取り出します。
    'TextBox1.Text(i)は配列でなくインデクサというプロパティです。
    For i As Integer = 0 To TextBox1.Text.Length - 1
      If (TextBox1.Text(i) < "0"c Or TextBox1.Text(i) > "9"c) _
        And (TextBox1.Text(i) < "a"c Or TextBox1.Text(i) > "z"c) _
        And (TextBox1.Text(i) < "A"c Or TextBox1.Text(i) > "Z"c) Then
        '入力文字が想定外
        MessageBox.Show("入力文字が違います")
        TextBox1.Text = strBstr '前の文字に戻す
        TextBox1.SelectionStart = intPos '前の位置に戻す
        boolFlg = False
        Return
      End If
    Next
    strBstr = TextBox1.Text  '文字列を記憶
    intPos = TextBox1.SelectionStart 'キャレットの位置を記憶
    boolFlg = False
  End Sub


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板