タイトル | : Formの全てのコントロールのTextをクリアするには |
記事No | : 6143 |
投稿日 | : 2007/08/24(Fri) 22:57 |
投稿者 | : びぎ |
こんばんは。
VB2005にてFormの全てのコントロールのTextをクリアするのに
Dim oControl AS Control Dim oControl2 AS Control
For Each oControl In Me.Controls IF oControls.Count > 1 Then For Each oControl2 In oControl.ControlS oControl2.Text = "" Next Else oControl.Text = "" END IF Next とコーディングしました。 IF oControls.Count > 1 Then For Each oControl2 In oControl.ControlS oControl2.Text = "" Next としているのは,PanelにTextBoxを配置すると 外側のFor Each oControl In Me.Controls ではクリアできないからです。
そこで、聞きたいのはPanelの中にPanelを配置し そのPanelにTextBoxを配置するいったことをすると もう1つ下位をFor Each する必要があります。
もう1つPanelを配置すると、またその下位を For Each してクリアします。
省略して書くと
For Each oControl In Me.Controls For Each oControl2 In oControl.ControlS For Each oControl3 In oControl2.ControlS For Each oControl4 In oControl3.ControlS
といった感じでしょうか。
実際、細かい画面になるとPanelが何階層になっているか 見ていくのも大変です。
何かスッキリとした書き方はないでしょうか? 御指導下さいますよう、よろしくお願いいたします。
|