C#Form.SplitContainer中清除控制元件textbox值(窗體.容器.控制元件)
阿新 • • 發佈:2018-10-31
文章目錄
問題背景
早上在完善不確定度計算器時,想要清空實驗資料輸入時所有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]以專業開發人員為伍
有時間一定要去研究一下資料繫結到底是什麼。