西西軟件園多重安全檢測下載網(wǎng)站、值得信賴的軟件下載站!
軟件
軟件
文章
搜索

首頁編程開發(fā)ASP.NET → c#快速清除Form中所有文本框中內(nèi)容

c#快速清除Form中所有文本框中內(nèi)容

相關(guān)軟件相關(guān)文章發(fā)表評論 來源:西西整理時間:2013/5/16 9:51:31字體大。A-A+

作者:西西點(diǎn)擊:308次評論:0次標(biāo)簽: 清除

  • 類型:卸載刪除大。700KB語言:英文 評分:7.1
  • 標(biāo)簽:
立即下載

如何清除Form中所有的文本框內(nèi)容?

分兩種情況:

(1)當(dāng)所有的文本框都是頂級控件,即它們都直接位于this.Controls(或groupBox.Controls)中,此時遍歷一遍清除即可。

(2)當(dāng)文本框不全處于頂級,即部分包含在某些容器控件內(nèi),如groupBox中,由于控件在窗體中是嚴(yán)格分級擺放的。此時的文本框有的位于this.Controls中(即Form控件集中),有的則位于groupBox.Controls中。

對于(1),直接這樣寫就可:

         foreach (Control ctrl in Controls)//或?yàn)間roupBox1.Controls/panel1.Controls
            {
                if (ctrl is TextBox)
                    ctrl.Text = "";
            }

寫出這樣幾行簡單的代碼是為了強(qiáng)調(diào)一個地方,當(dāng)某些文本框是用戶自己定義的一個繼承TextBox的控件時,像上面那樣寫,都可識別,但若寫成:if (ctrl.GetType() == typeof(TextBox)),這種判斷方式相對嚴(yán)格,自定義文本框不會被識別。

為了解決(2)中提出的問題,可寫一個更為靈活通用的方法來檢測出這些文本框,并將之清空。方法如下:

          private void ClearText(Control ctrlTop)
        {
            if (ctrlTop.GetType() == typeof(TextBox))
                ctrlTop.Text = "";
            else
            {
                foreach (Control ctrl in ctrlTop.Controls)
                {
                    ClearText(ctrl); //循環(huán)調(diào)用
                }
            }
        }

在需要的地方,直接調(diào)用ClearText(this)就大功告成了。

    相關(guān)評論

    閱讀本文后您有什么感想? 已有人給出評價!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過難過
    • 5 囧
    • 3 圍觀圍觀
    • 2 無聊無聊

    熱門評論

    最新評論

    第 1 樓 湖北武漢電信 網(wǎng)友 客人 發(fā)表于: 2013/6/20 17:21:29
    不錯的分享。

    支持( 0 ) 蓋樓(回復(fù))

    發(fā)表評論 查看所有評論(0)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字?jǐn)?shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)