同じ処理をする場合まとめるには?

解決


ひろつの  2001-10-15 23:51:49  No: 103667

すいません初心者なのですが・
以下の様にテキストボックスが9つあるんですけど、入力制限は同じなので、
全てが同じ記述になるのですが、まとめる方法ってあるんですか?
誰か教えて下さい。

Private Sub Text1_KeyPress(KeyAscii As Integer)
    WKeyAscii = KeyAscii
    InpChkAscii
    If WKeyAscii = 0 Then
        KeyAscii = Clear
    End If
End Sub

Private Sub Text2_KeyPress(KeyAscii As Integer)
    WKeyAscii = KeyAscii
    InpChkAscii
    If WKeyAscii = 0 Then
        KeyAscii = Clear
    End If
End Sub
永遠と9つ続きます


Bit  2001-10-16 01:11:02  No: 103668

TextBox9こを配列にしたら大丈夫だと思います
(一応下に書きます)

Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)
WKeyAscii = KeyAscii
InpChkAscii
If WKeyAscii = 0 Then
KeyAscii = Clear
End If
End Sub


myu-po  2001-10-16 01:40:27  No: 103669

テキストボックスの「オブジェクト名」を同じにすると
コントロール配列にするか聞かれるので、「はい」にします。
すると、「Index]に番号が振られますので(そのときテキストボックスのプロパティは、Text1(0)などとなります)
そうすれば、Bitさんが書いたように、
Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)
と、Indexが出てきます。このときのIndexがテキストボックスのIndexに対応しています。


ひろつの  2001-10-16 02:44:19  No: 103670

ありがとうございました。bitさん、myu-poさん
かなりすっきりしました。
とっても初心者なのでこれからもよろしくお願いします。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加