我在VS 2012中使用C#和WinForms進行應用程序工作,我很好奇我應該使用什麼樣的例程來清除輸入數據的所有方法,包括文本框,組合框和日期時間選擇器。我谷歌搜索,並找到了一些'答案',但似乎沒有工作或實際證明有幫助。如何在C#中的WinForm中清除所有Textboxes,Comboboxes和DateTimePickers?
[編輯]:
我一直在研究和居然發現一個有用的方法,我只是不得不添加一些IFS來得到我想要的東西:
private void ResetFields()
{
foreach (Control ctrl in this.Controls)
{
if (ctrl is TextBox)
{
TextBox tb = (TextBox)ctrl;
if (tb != null)
{
tb.Text = string.Empty;
}
}
else if (ctrl is ComboBox)
{
ComboBox dd = (ComboBox)ctrl;
if (dd != null)
{
dd.Text = string.Empty;
dd.SelectedIndex = -1;
}
}
else if (ctrl is DateTimePicker)
{
DateTimePicker dtp = (DateTimePicker)ctrl;
if (dtp != null)
{
dtp.Text = DateTime.Today.ToShortDateString();
}
}
}
}
你正在尋找一種機制,「神奇」清除你的窗體上的所有文本框等? – bas 2013-02-18 19:34:02
是的,當然我正在尋找魔法......不是一個循環添加到我的代碼的例子。我想*魔法*。 – Claire 2013-02-18 19:53:35
不夠好。你必須檢查所有兒童的孩子。看到我的答案。 – ispiro 2013-02-18 19:54:05