读书人

请教有3个textbox怎么判断其中哪个为

发布时间: 2012-01-08 22:48:50 作者: rapoo

请问有3个textbox,如何判断其中哪个为空???
比方说,我在一个form上有3个textbox和1个button,我需要对textbox里面的内容进行限制,比方说不能为空。在我按下这个button的时候,如果其中某一个textbox的内容为空,就让这个控件获得焦点。

可能说的不太清楚,大概就是这个意思,谢谢!!!

[解决办法]
这个好说,用一个循环就可以了:
foreach (Control con in this.Controls)
{
TextBox _tb = con as TextBox;
if (_tb != null && _tb.Text.Trim()==string.Empty)
{
_tb.Focus();
break;
}
}

[解决办法]
foreach( Control c in this.Controls )
{
if( c is TextBox )
//your work
}

[解决办法]
被hbxtlhx(平民百姓)先了。
[解决办法]
你们真快. 顶一个,接分.正确答案已经有了,我就不多说了.
[解决办法]
if
[解决办法]
foreach(System.Windows.Forms.Control ct in this.Controls)
{
if(ct.GetType() == typeof(System.Windows.Forms.TextBox))
{
if(ct.Text.Trim().Length ==0)
{
ct.Focus();
return;
}

}
}
[解决办法]
你的界面上的textbox可能有多个空的,你准备把焦点给哪个?
[解决办法]
if(text1.text.length==0)
[解决办法]
你的10几个textbox是不是都放在form,还是放在form的panel上,
foreach(System.Windows.Forms.Control ct in this.Controls)这个this这里指的是容纳textbox的容器,你的“对象引用设置到对象的实例”应该是这个ct为被定义~~~
{
if(ct.GetType() == typeof(System.Windows.Forms.TextBox))
{
if(ct.Text.Trim().Length ==0)
{
ct.Focus();
return;
}
}
}

[解决办法]
private void button1_Click(object sender, EventArgs e)
{
foreach (Control tmp in this.Controls)
{
TextBox textbox = tmp is TextBox ? (TextBox)tmp : null;
if (textbox != null & tmp.Text == " ") tmp.Focus();
}
}
给分!
[解决办法]
用JS来判断嘛。最容易了。
[解决办法]
up
[解决办法]
楼主这个问题还没有搞定啊....
哪里出错了!
[解决办法]
你的窗体里都有什么样的控件呢?
是不是只有一个Button和三个TextBox呢?
[解决办法]
用的是Vs2005还是VS2003?
[解决办法]
private void button1_Click(object sender, EventArgs e)
{
foreach (Control tmp in this.groupBox1.Controls)
{
if (tmp is ComboBox)
{
ComboBox cb = (ComboBox)tmp;
if (cb.Text.Trim() == string.Empty)
{
cb.Focus();
break;
}
}
}
}

------解决方案--------------------


楼主像上面的代码有问题吗?
[解决办法]
在你的Button的Click事件中这样写。
private void button1_Click(object sender, EventArgs e)
{
//获得被点击的Button
Button btn1 = sender as Button;
//如果转换没有成功,就退出
if(btn1 == null)
{
return;
}
//因为你说你的Button和Combox控件放在同一个容器中
//所以我们获得Button的父容器,然后遍历父容器中的控件
foreach (Control ctrl in btn1.Parent.Controls)
{
//在这里声明可以避免多次声明
//使用as转换,可以保证不抛出异常
ComboBox cb = ctrl as ComboBox;
//如果转换没有成功,就继续
if(cb == null)
{
continue;
}
//使用Length判断可以提高效率。
//本质上cb.Text.Trim() == String.Empty最终判断的还是两个字符串长度是否相等。
if (cb.Text.Trim().Length == 0)
{
cb.Focus();
//只设定第一个找到的长度为0的ComboBox控件的焦点
break;
}
}
}

[解决办法]
focus
[解决办法]
用sender好了

读书人网 >C#

热点推荐