我有一个包含多个文本框和combox的表单。当我点击save&新按钮,我想清除所有文本框并将selectedIndex设置为0组合框。 我不想这样使用 txtAddress =“”。 请帮帮我!
答案 0 :(得分:1)
检查一下: http://www.hariscusto.com/programming/reset-all-controls-on-forms/
但是你不能总是遵循这一点,因为有时候你的表单会从数据库绑定,比如组合框绑定或使用更新后的材质绑定gridview。因此,您必须自己创建一个函数,从中将文本框设置为空并从数据库重新绑定绑定控件。
答案 1 :(得分:1)
你想这样做↓
var lstTextbox = from p in controls
where p is System.Windows.Forms.TextBox
select p as System.Windows.Forms.TextBox;
foreach (var txt in lstTextbox)
txt.Clear();
答案 2 :(得分:1)
在按钮的onClientClick事件上,调用javascript函数ResetAll(),您可以在其中重置控件的值。最简单快捷。
答案 3 :(得分:0)
如果没有,我很害怕你必须将空字符串分配给TextBox,就像你说的那样。也许你可以创建一个迭代控件。
foreach(在此.Controls中控制ctrl){ if(ctrl是TextBox) ((TextBox)ctrl).Text = string.Empty; 否则if(ctrl是SoemthigElse) //做其他控制的其他事情 }
答案 4 :(得分:0)
您可以做的是将所有文本框添加到数组中,然后遍历数组并为每个文件设置.text
属性为“”。您的组合框也需要相同。
遗憾的是,没有神奇的ClearAllMyTextboxesAndResetMyComboBoxes()
方法。
答案 5 :(得分:0)
private List<Binding> bindingCollection = new List<Binding>();
private void ClearCurrentDatabindings()
{
if (bindingCollection.Count > 0)
{
foreach (Binding binding in bindingCollection)
{
binding.Control.DataBindings.Clear();
}
bindingCollection.Clear();
}
}
private void BindTextBox(object target, string targetProperty,
Control controlToBind )
{
Binding binding = new Binding("Text", target, property);
control.DataBindings.Add(binding);
bindingCollection.Add(binding);
}
在添加数据绑定时,请执行以下操作:
BindTextBox(customer, "Name" txt_CustomerName);
当您要清除所有内容时:
ClearCurrentDatabindings()
如果您不是这样的数据绑定(并且我看到理由不这样做),那么您必须手动执行,或者创建类似SetTextboxText(txt_Name, "some text")
的方法,它们会将您的所有控件注册到一个集合中稍后清楚。