groupBox内有6个txtebox  怎么才可以指定其中几个看是否为空 如指定第 2 3 4 5控件 怎么返回2345为空的控件ID
或者遍历控件之后能得到所有为空的控件ID 怎么筛选出2345控件里是否有空值

解决方案 »

  1.   

     List<int> _list = new List<int>() { 2,3,4,5};
                //返回groupBox1中第2,3,4,5个控件中内容为空的控件ID
                List<string> _nullListId=this.groupBox1.Controls.Cast<Control>().Where((a, i) => { return a is TextBox && _list.Contains(++i)&&string.IsNullOrEmpty(a.Text); }).Select(a => a.Name).ToList();
      

  2.   

      这个没用过 怎么在MessageBox中显示出来ID啊
      

  3.   

    _nullListId 存储的就是Id列表
     List<int> _list = new List<int>() { 2,3,4,5};
                //返回groupBox1中第2,3,4,5个控件中内容为空的控件ID
                List<string> _nullListId=this.groupBox1.Controls.Cast<Control>().Where((a, i) => { return a is TextBox && _list.Contains(++i)&&string.IsNullOrEmpty(a.Text); }).Select(a => a.Name).ToList();
                MessageBox.Show(string.Join(",",_nullListId));//假设以逗号分开
      

  4.   

    错误 1 与“string.Join(string, string[])”最匹配的重载方法具有一些无效参数错误 2 参数“2”: 无法从“System.Collections.Generic.List<string>”转换为“string[]”
    出现这两个错误
      

  5.   

    MessageBox.Show(string.Join(",",_nullListId).ToArray());因为你用的是过时的VS2008,赶快升级2012吧。
      

  6.   

    也可以这样
    List<int> _list = new List<int>() { 2, 3, 4, 5 };
    var _nullListId = _list.Where(x => (groupBox1.Controls["textBox" + i.ToString()] as TextBox).Text == "");
    MessageBox.Show(string.Join(",", _nullListId).ToArray());
      

  7.   


    string id;
    foreach (Control control in groupBox.Controls)
    {
        if(((TextBox)control).Text=="")
           {          id+= ((TextBox)control).ID+";" ;
           }
    }
    string[] ID=id.Split(';');//就可以得到TextBox为空的ID的数组。