c#用for循环textbox判断是不是为空

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c#用for循环textbox判断是不是为空相关的知识,希望对你有一定的参考价值。

有十个textbox,id是连续的,如textbox1,textbox2。。。。用for循环判断这十个textbox,如果为空,获取当前控件id
在winform中,另外希望用for(i)循环,想判断为空时同时获取当前 i 值,方便用于后续操作

//存放内容为空的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,都能处理

参考技术A 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;

本回答被提问者和网友采纳
参考技术B 你可以把这十个textbox放到一个Panel操作中
然后
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 */



急求:c# 在winform窗体中 用for循环输出的"*"三角形:

*
***
*****
*******
它是个1,3,5,7的 类等腰三角形。 急求解。。。谢谢!!!

参考技术A 放在textbox里的话,把textbox的置成多行、支持回车或换行、即把这几个属性设置成true就行。

以上是关于c#用for循环textbox判断是不是为空的主要内容,如果未能解决你的问题,请参考以下文章

c#如何把选中gridview的一行的值用for循环分别赋值给textbox1 -15?

C#中怎么判断一个数是不是在一个集合里?

急求:c# 在winform窗体中 用for循环输出的"*"三角形:

在C#中注册页面如何判断用户名和密码为空

C#中如何限制textbox不为空?

请帮忙解决一下C#中,怎么能判断comboBox和textbox中为空时,提示弹出框,不能为空