複数テキストBOX同一処理で最適な方法

解決


ARC  2005-04-01 04:52:48  No: 89148

テキストボックスが8個あります。
すべてのテキストボックスに共通処理があるので現状は下記のようにしてます
Private Sub txt1_GotFocus()
    wk=str
End Sub
Private Sub txtWK_GotFocus()
    wk=str
End Sub
Private Sub txtShinNO_GotFocus()
    wk=str
End Sub
以下省略
コード長が長くなるので1処理にまとめたいのです。
テキストボックス配列にすればまとまりますが
個々のテキストボックス名に固有の名称をつけたいので配列は避けたいのです
どうすれば対処できるでしょうか?どなたかご存知の方いましたら教えて頂けると幸いです。
宜しくお願い致します


じゃんぬねっと  URL  2005-04-01 05:10:10  No: 89149

見たところ、VB6 以前のようなので、
サブクラス化をお勧めします。

まずは、調べてみてください。


魔界の仮面弁士  2005-04-02 08:14:28  No: 89150

私の場合は、WithEventsで処理をまとめる事が多いかな……。
http://www.gj.il24.net/~nakasima/vb/tech/excontrol/index.htm


ARC  2005-04-04 21:29:10  No: 89151

アドバイスして頂き有難うございます
下記のようにコードを作成したら出来ました。
有難うございました
'フォーム
Private NewControl  As Collection
Private Sub Form_Load()
    Set NewControl = New Collection
    With NewControl
        .Add NoGetHide.TxtInit(txtBikou)
    End With
End Sub
'標準モジュール
Public Function NoGetHide() As clsNoGetHide
    Set NoGetHide = New clsNoGetHide
End Function
'クラスモジュール
Public Function TxtInit(txt As TextBox) As clsNoGetHide
    Set NewText = txt
    Set TxtInit = Me
End Function
Private Sub NewText_GotFocus()
    NoGet.Hide: DoEvents
End Sub


ARC  2005-04-05 21:58:58  No: 89152

解決しました


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

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






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