C#清除文本框中内容问题之解答

开发 后端
本文介绍了C#清除所有文本框中内容两种情况的解决办法,希望对大家会有所帮助。

如何用C#清除Form中所有的文本框内容?

分两种情况:

C#清除文本框中内容(1)

当所有的文本框都是顶级控件,即它们都直接位于this.Controls(或groupBox.Controls)中,此时遍历一遍清除即可。

C#清除文本框中内容(2)

当文本框不全处于顶级,即部分包含在某些容器控件内,如groupBox中,由于控件在窗体中是严格分级摆放的。此时的文本框有的位于this.Controls中(即Form控件集中),有的则位于groupBox.Controls中。

对于(1),直接这样写就可:

  1. foreach (Control ctrl in Controls)//或为groupBox1.Controls/panel1.Controls  
  2.    {  
  3.        if (ctrl is TextBox)  
  4.            ctrl.Text = "";  
  5.    } 

写出这样几行简单的代码是为了强调一个地方,当某些文本框是用户自己定义的一个继承TextBox的控件时,像上面那样写,都可识别,但若写成:if (ctrl.GetType() == typeof(TextBox)),这种判断方式相对严格,自定义文本框不会被识别。

为了解决(2)中提出的问题,可写一个更为灵活通用的方法来检测出这些文本框,并将之清空。方法如下:

  1. private void ClearText(Control ctrlTop)  
  2.  
  3.   if (ctrlTop.GetType() == typeof(TextBox))  
  4.       ctrlTop.Text = "";  
  5.   else 
  6.   {  
  7.       foreach (Control ctrl in ctrlTop.Controls)  
  8.       {  
  9.           ClearText(ctrl); //循环调用  
  10.       }  
  11.   }  

在需要的地方,直接调用ClearText(this),C#清除文本框中内容的目的就达到了。

【编辑推荐】

  1. 理解C#值类型和引用类型
  2. C#.NET教程: 创建我们自己的Employee对象
  3. C#.NET教程:AutoCAD向导及Editor类
  4. C#.NET教程:访问 ObjectARX .NET 封装类
  5. C#代码的基本语法
责任编辑:book05 来源: 新浪博客
相关推荐

2012-05-09 10:35:36

JavaMEJava

2012-06-06 15:15:00

jQuery

2009-07-31 14:47:22

JavaScript函C#

2009-08-20 15:54:48

从C#到C++

2009-06-15 17:05:03

C#基元类型

2010-01-18 17:37:32

VB.NET文本框处理

2010-01-14 11:09:35

VB.NET文本框

2010-01-21 15:56:31

VB.NET文本框

2009-11-03 16:20:16

VB.NET文本框

2009-08-20 09:15:20

C#操作文本文件

2009-02-05 15:32:23

接口委托

2009-08-17 17:08:47

C#转义

2013-06-17 13:47:41

WP7开发Windows Pho文本框水印控件

2011-07-06 11:04:42

C#正则表达式

2011-07-14 17:45:06

CC++

2009-07-30 16:56:14

C#时间控件

2009-08-25 17:59:49

C#入门

2012-06-29 14:13:10

2009-08-14 17:17:24

C#加框和消框

2009-08-24 16:11:35

C#项目开发
点赞
收藏

51CTO技术栈公众号