在C#中怎样快速的将窗体中的各个控件清空
可否不是一个一个的
这个比较麻烦,因为你不知道到底有多少种类型的控件,最重要的是,每种控件的清空方式都有所不同。
例如TextBox和CheckBox的清空方式就不同。
可以使用委托的方式来进行对象的清空。
首先定义一个委托:
public delegate void CleanControl(Control ctrl);//这个委托方法就是用来清空委托的。
然后,使用一个键值对来存储要进行清除的控件类型和要执行的方法。
Dictionary cleanMethodList = new Dictionary();
拿TextBox和CheckBox举例。
这两个方法要符合CleanControl委托。
private void CleanTextBox(Control ctrl)
{
(ctrl as TextBox)。Text = string。
Empty;
}
private void CleanCheckBox(Control ctrl)
{
(ctrl as CheckBox)。Checked = false;
}
在这里,还要声明一个用来初始化该方法集的方法:
private void InitMethodList()
{
cleanMethodList。
Add(TextBox, CleanTextBox);
cleanMethodList。Add(CleanCheckBox, CleanCheckBox);
//后续的添加,你可以放在配置文件中,也可以写在这里
}
最后,就是清空操作:
void Clean()
{
foreach(Control item in this。
C){
cleanMethodList[item]。Invoke();
}
}
补充:
这种方法,可以声明成为一个类库以进行重用,将一般的控件名称和操作方法写入配置文件。
调用的时候,当要再次使用时,添加一个对应的配置信息,引入此库即可。
问:excelVBA用户窗体 在一个用户窗体中我放置了很多控件,窗体不想显示的太大,能不能在运行窗体时加个垂直滚动条,通过上下滚动来实现显示全部控件。谢谢。
答:在窗体中插入了一个叫做“复合框”的控件,书上说的是选择userform的initialize事件,就能够设置“复合框”的下拉列表详情>>
答:详情>>
答:DotText是目前最流行的BLOG系统之一,是博客程序.详情>>
答:计算机三级就是一个字“背” 网络技术就是靠背,如果要获得真本事就要多实践 祝你好运 ^_^详情>>