1. 程式人生 > >C#Form.SplitContainer中清除控制元件textbox值(窗體.容器.控制元件)

C#Form.SplitContainer中清除控制元件textbox值(窗體.容器.控制元件)

文章目錄

問題背景

早上在完善不確定度計算器時,想要清空實驗資料輸入時所有textbox控制元件值。

問題程式碼


        private void 清除_Click(object sender, EventArgs e)
        {
            foreach (Control c in this.splitContainer1.Controls)//此處找不到controls控制元件集合
            {
                if (c is TextBox)
                {
                    c.Text ="";
                }
            }

        }

問題解決

後來返回設計介面仔細檢查才發現SplitCtainer中包含panel1、panel2兩個子容器。
於是.panel2.Contrlos解決(注意在".“後提示程式碼並未顯示controls,要勇敢地去”.")

正確清除程式碼

  private void 清除_Click(object sender, EventArgs e)
        {
            foreach (Control c in this.splitContainer1.Panel2.Controls)
            {
                if (c is TextBox)
                {
                    c.Text ="";
                }
            }

        }

問題延申

此處使用了foreach 迴圈語句遍歷控制元件。
但CSDN以為老哥的話讓我思考了很久

其實更多時候我會問我們的程式設計師:怎麼會有15個TextBox?一個一個設計上去不累嗎?為什麼不寫一個控制元件然後自動(依據資料繫結)部署產生一堆? ----------------------------------------[email protected]以專業開發人員為伍

有時間一定要去研究一下資料繫結到底是什麼。