テキストボックスが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処理にまとめたいのです。
テキストボックス配列にすればまとまりますが
個々のテキストボックス名に固有の名称をつけたいので配列は避けたいのです
どうすれば対処できるでしょうか?どなたかご存知の方いましたら教えて頂けると幸いです。
宜しくお願い致します
見たところ、VB6 以前のようなので、
サブクラス化をお勧めします。
まずは、調べてみてください。
私の場合は、WithEventsで処理をまとめる事が多いかな……。
http://www.gj.il24.net/~nakasima/vb/tech/excontrol/index.htm
アドバイスして頂き有難うございます
下記のようにコードを作成したら出来ました。
有難うございました
'フォーム
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
解決しました
ツイート | ![]() |