- PR -

文字列からオブジェクトに

1
投稿者投稿内容
よっこらしょ
常連さん
会議室デビュー日: 2006/11/18
投稿数: 24
投稿日時: 2008-02-21 23:53
こんな事って出来るのでしょうか?
VB2005を使ってます。

例えばTextBoxが30個ほどあって、その全てでエラーチェックをしなければならないとします。
TextBoxの名前は、txtTest1〜txtTest30としたとき、
 For i = 1 To 30
Call Check("txtTest" & i)
Next
みたいな感じでチェックしたいのです。
(もちろん、Check(Byval strT as String)ってSubは作っておく。)

出来るでしょうか?
Ahf
大ベテラン
会議室デビュー日: 2006/08/16
投稿数: 172
投稿日時: 2008-02-22 00:26
できますよ。

Control.ControlCollection.Item プロパティ (String) (System.Windows.Forms)

文字列からオブジェクト、というより指定した名称を持つコントロールを参照したい、ということですよね?
nakaP
大ベテラン
会議室デビュー日: 2005/09/27
投稿数: 138
お住まい・勤務地: 高知
投稿日時: 2008-02-22 09:46
こんにちは。

対象のTextBoxをPanelか何かに配置してFor〜Eachで回せば楽かもですよ。
コード:
For Each ctl As Control In TextBoxPanel.Controls
    If TypeOf ctl Is TextBox Then
        Call CheckTextBox(TryCast(ctl, TextBox))
    End If
Next

Private Sub CheckTextBox(ByVal txt As TextBox)
'(〜なにかの処理)
End Sub


1

スキルアップ/キャリアアップ(JOB@IT)