[英]Is there a more line efficient way of clearing textboxes in C#?
我正在尋找一種清除文本框的有效方法,最好是在函數中。
我試過使用:
{
Action<Control.ControlCollection> func = null;
func = (controls) =>
{
foreach (Control control in controls)
if (control is TextBox)
(control as TextBox).Clear();
else
func(control.Controls);
};
func(Controls);
}
上述解決方案的問題是我無法選擇要刪除哪些文本框。
TextBoxName.Text = "";
上面的工作但是唯一的問題是它占用了 200 行我有 61 個框,我需要一個清除所有按鈕,它只清除 60 個框(除了一個)
我需要清晰的行按鈕,因為這些框是按行排列的
有 15 個清除行按鈕,每個按鈕有 4 個框,是否有我可以使用的 for 循環,它只會清除我需要的那些(如果可能,按名稱)?
您可以創建一組 TextBoxes 以根據它進行豁免和過濾。 例如,
var exceptionList = new[] { textBox1 };
foreach(var textBox in Controls.OfType<TextBox>().Where(x=> !exceptionList.Contains(x)))
{
textBox.Clear();
}
如果要根據控件名稱進行過濾,可以使用
foreach(var textBox in Controls.OfType<TextBox>().Where(x=> !exceptionList.Contains(x.Name)))
{
textBox.Clear();
}
其中exceptionList
是需要豁免的 TextBox 名稱的集合。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.