c#用for循环textbox判断是否为空
有十个textbox,id是连续的,如textbox1,textbox2。。。。用for循环判断这十个textbox,如果为空,获取当前控件id在winform中,另外希...
有十个textbox,id是连续的,如textbox1,textbox2。。。。用for循环判断这十个textbox,如果为空,获取当前控件id
在winform中,另外希望用for(i)循环,想判断为空时同时获取当前 i 值,方便用于后续操作 展开
在winform中,另外希望用for(i)循环,想判断为空时同时获取当前 i 值,方便用于后续操作 展开
3个回答
展开全部
//存放内容为空的TextBox控件
List<TextBox> list = new List<TextBox>;
foreach(Control c in this.Controls)
{
//判断控件是不是TextBox
if( c is TextBox)
{
//如果是,检查其内容是否为空
if(string.IsNullOrEmpty(c.Text))
{
//将内容为空的TextBox存放到list中
list.Add(c);
}
else
{
//内容不为空的处理
}
}
}
//至此,list中存放着内容为空的TextBox
if(list.Count>0)
{
//对内容为空的控件进行处理
}
这样写的好处是,不管你有多少个TextBox,都能处理
展开全部
private TextBox findEmpy()
{
for(int i=1;i<10;i++)
{
object o=findcontrol("textbox"+i);
if(o!=null && o is TextBox)
{
TextBox t=(TextBox)o;
if(t.Text=="")
{
return t;
}
}
}
return null;
}
private object findcontrol(string name)
{
object o = this.GetType().GetField(name, System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.IgnoreCase).GetValue(this);
return o;
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-03-09
展开全部
你可以把这十个textbox放到一个Panel操作中
然后
foreach(var textbox in Panel1.Controls.OfType<TextBox>())
{
if (string.IsNullOrEmpty(textbox.Text) return textbox.Id
}
上面的代码可能要根据具体情况稍微变下,都不知道你是WinForm还是WebForm
有需要的话,根据智能提示修改下吧。
然后
foreach(var textbox in Panel1.Controls.OfType<TextBox>())
{
if (string.IsNullOrEmpty(textbox.Text) return textbox.Id
}
上面的代码可能要根据具体情况稍微变下,都不知道你是WinForm还是WebForm
有需要的话,根据智能提示修改下吧。
追问
在winform中,另外希望用for(i)循环,想判断为空时同时获取当前 i 值,方便用于后续操作
追答
for (int i = 1; i ().Single(t => t.Name = "textbox" + i;
if (string.IsNullOrEmpty(textbox.Text)
{
/* 找到了为空的TextBox */
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询