C#的控件问题,题目是:请编程遍历页面上所有TextBox控件并给它赋值为string.Empty?

foreach(System.Windows.Forms.Controlcontrolinthis.Controls){if(controlisSystem.Window... foreach (System.Windows.Forms.Control control in this.Controls)
{
if (control is System.Windows.Forms.TextBox)
{
System.Windows.Forms.TextBox tb = (System.Windows.Forms.TextBox)control ;
tb.Text = String.Empty ;
}
}
谁能给我解释一下为啥还要
System.Windows.Forms.TextBox tb = (System.Windows.Forms.TextBox)control ; 呢?不是已经验证control是System.Windows.Forms.TextBox的了吗,为啥还要强制类型转换呢?
展开
 我来答
学生阿成
推荐于2018-04-10 · TA获得超过2073个赞
知道小有建树答主
回答量:1070
采纳率:0%
帮助的人:674万
展开全部
这样有一个好处,强制类型转换后,control就具备了所有的Textbox的属性了。。比如什么ReadOnly。MaxLength。。。等

而如果不进行强制转换,你可以去看看,control,仅仅是一个Control类型的个变量。
不可等同于Textbox类。。。。
OO悠悠我心OO
2012-10-22 · 超过18用户采纳过TA的回答
知道答主
回答量:48
采纳率:0%
帮助的人:51.7万
展开全部
强制转换是为了使当前control就具备Textbox的属性,如果不用其他的属性 完全可以写成
control.Text=String.Empty;

你这个代码貌似有问题,你这样弄的话,在Panle等容器上的textbox怎么办?建议如果是容器控件的话,就多写点东西吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
937ii8759
2012-10-22 · 超过67用户采纳过TA的回答
知道小有建树答主
回答量:339
采纳率:80%
帮助的人:104万
展开全部
Control类 定义控件的基类,所有的控件都是它的子类
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式