c# 一次性清空form内所有文本框内容

如果想一次清空form内所有文本框内容,这样的程式怎么写?请高手帮帮忙rightmin你的代码我编译了一下,能通过编译但是不起作用,不能将相应的文本内容清空。我的text... 如果想一次清空form内所有文本框内容,这样的程式怎么写?请高手帮帮忙
rightmin 你的代码我编译了一下,能通过编译但是不起作用,不能将相应的文本内容清空。我的textbox是放在groupbox中的,应该没有影响吧?
zhangweiwd2003 谢谢你,不过我要的是c#代码。
xydlmnn 刷新是刷新 难道会重载么?
展开
 我来答
rightmin
推荐于2018-03-30 · TA获得超过4124个赞
知道大有可为答主
回答量:2199
采纳率:0%
帮助的人:1799万
展开全部
有一个简单的方法:
foreach (Control Ctrol in this.Controls)
{
if (Ctrol is TextBox)
{
Ctrol.Text = "";
}
}
这里的Control Ctrol表示某个控件Ctrol,this指代某个容器,这个就是指代Form1,这个this可以换成其他容器的名字,假如要清panel1上的东西,就写panel1.Controls

写第一个Control的时候,VS是不会提示你的,至少我的电脑不会。
当然有影响啦,this指代的窗体,既然文本框不在窗体呢,就要把this换成了groupbox了。假设那个groupbox是groupbox1,那么
foreach (Control Ctrol in groupbox1.Controls)
{
if (Ctrol is TextBox)
{
Ctrol.Text = "";
}
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhangweiwd2003
2008-12-05 · 超过13用户采纳过TA的回答
知道答主
回答量:35
采纳率:0%
帮助的人:0
展开全部
这是我以前写的函数,用过,没问题
Public Sub clearText(ByVal pForm As Form)
Dim Obj As Object

For Each Obj In pForm.Controls

If TypeOf Obj Is TextBox Then Obj.text = ""
If TypeOf Obj Is ComboBox Then Obj.text = ""

Next Obj

End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
幻梦浮云
2008-12-05 · TA获得超过325个赞
知道小有建树答主
回答量:161
采纳率:100%
帮助的人:57.6万
展开全部
foreach(Control c in Controls) if(c is TextBox)c.Text = "";
//或者
for (int i =0 ;i<Controls.Count;++i)
if (Controls[i] is TextBox)
Controls[i].Text = "";

foreach是关键字,同for一样使用,1L的代码...好像不能编译过去
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
寂寞抗寒潮
2008-12-05 · 超过31用户采纳过TA的回答
知道答主
回答量:98
采纳率:0%
帮助的人:80.7万
展开全部
private void ClearTextBox(Control ParentCtl)
{
Foreach(Control SubCtl in ParentCtl.Controls)
{
if(SubCtl.Controls.Count > 0)
{
ClearTextBox(SubCtl);
}
else if (SubCtl is TextBox)
{
(TextBox)SubCtl.Clear();
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友6f75ac8fa
2008-12-05 · TA获得超过2513个赞
知道大有可为答主
回答量:1.3万
采纳率:0%
帮助的人:4011万
展开全部
还不如重新刷新下页面呢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式