tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトル画面クリア
記事No1494
投稿日: 2005/03/21(Mon) 10:41
投稿者ちょこ
[OSのVer]:WindowsXP    [VBのVer]:VB.NET  
初めて質問させていただきます。
現在画面でデータ登録後、画面の内容を全てクリア
する処理を考えています。
テキストボックスなどをそれぞれクリアしていけばいいのですが、
その処理を簡単に行いたいと思います。

方法をご存知の方がいらっしゃいましたら、ぜひお教え下さい。

よろしくお願いします。

[ツリー表示へ]
タイトルRe: 画面クリア
記事No1495
投稿日: 2005/03/21(Mon) 12:19
投稿者じゃんぬねっと
参照先http://jeanne.wankuma.com/
こんにちは、じゃんぬねっと です。

> テキストボックスなどをそれぞれクリアしていけばいいのですが、
> その処理を簡単に行いたいと思います。
> 方法をご存知の方がいらっしゃいましたら、ぜひお教え下さい。

For Each でコントロールを列挙してはいかがですか?

For Each pControl As Control In Me.Controls
    If TypeOf pControl Is TextBox Then
        DirectCast(pControl, TextBox).Text = ""
    End If
Next pControl

ただし、GroupBox や Panel のようなコンテナ内に配置されたコントロールは
再帰によって検索する必要があります。
そういうメソッドを自作しましょう。

Public Shared Sub ClearAllTextBox(ByVal pParent As Control)
    For Each pControl As Control In pParent.Controls
        Select Case pControl.GetType().Name
            Case "GroupBox", "Panel"
                Call ClearAllTextBox(pControl)
            Case "TextBox"
                DirectCast(pParent, TextBox).Text = ""
        End Select
    Next pControl
End Sub

[ツリー表示へ]
タイトルRe^2: 画面クリア
記事No1496
投稿日: 2005/03/21(Mon) 15:41
投稿者ちょこ
[OSのVer]:Windows    [VBのVer]:VB.NET  
【じゃんぬねっと】さん、
お返事遅くなりまして申し訳ありません。

御指摘の方法で、当方希望の処理がうまくいきました。

ありがとうございました。

[ツリー表示へ]