急急!WINFORM程序页面中有循环遍历控件判断是否为空?

lovezhxf 2012-06-25 02:28:21
如题,WINFORM程序中是将textBox1——textBox20中的内容保存
kin.Dal.HisRecord dal = new kin.Dal.HisRecord();
kin.Model.HisRecord model;
dal.Add(model);
再打印出来。
想在保存时循环判断textBox是否为空,若为空不可保存。
应该怎么写循环判断。
...全文
213 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
stiff_neck 2012-06-25
  • 打赏
  • 举报
回复
7楼好。
__天涯寻梦 2012-06-25
  • 打赏
  • 举报
回复
foreach (Control c in this.Controls)
{
GroupBox gbx = c as GroupBox;
if (gbx != null)
{
foreach (Control item in gbx.Controls)
{
TextBox tbx = item as TextBox;
if (tbx != null)
{
if (tbx.Text == "")
{
MessageBox.Show("内容不完整,无法保存!");
return;
}
}
}
}
}
lovezhxf 2012-06-25
  • 打赏
  • 举报
回复
但是现在textbox放在多个groupBox,
groupBox1\groupBox2\groupBox3,只会分别写三个上边的判断,有没有其它整合方法。
lovezhxf 2012-06-25
  • 打赏
  • 举报
回复
谢谢。
我是用的判断 foreach (Control c in groupBox1.Controls)
{
if (c is TextBox)
{
if (c.Text == "")
{
MessageBox.Show("内容不完整,无法保存!");
return;
}
}
}
xmhxjjq 2012-06-25
  • 打赏
  • 举报
回复
private void GetControl(Control.ControlCollection ctc)
{
foreach (Control ct in ctc)
{
//调用AddControlInofToListBox方法获取控件信息
AddControlInofToListBox(ct);
//C#只遍历窗体的子控件,不遍历孙控件
//当窗体上的控件有子控件时,需要用递归的方法遍历,才能全部列出窗体上的控件
if (ct.HasChildren)
{
GetControl(ct.Controls);
}
}
} private void AddControlInofToListBox(Control ct)
{
switch (ct.GetType().Name)
{
//如果是ListBox、CheckBox、Button
case "ListBox":
case "GroupBox":
case "Button":
listBox1.Items.Add("控件名:" + ct.Name);
break;
//如果是CheckBox
case "CheckBox":
if (((CheckBox)ct).Checked)
{
listBox1.Items.Add("控件名:" + ct.Name + ",是否选中:是");
//((CheckBox)ct).Checked = false;
}
else
{
listBox1.Items.Add("控件名:" + ct.Name + ",是否选中:否");
//((CheckBox)ct).Checked = true;
}
break;
//如果是RadioButton
case "RadioButton":
RadioButton rdb = (RadioButton)ct;
if (rdb.Checked)
{
listBox1.Items.Add("控件名:" + ct.Name + ",是否选中:是");
//rdb.Checked = false;
}
else
{
listBox1.Items.Add("控件名:" + ct.Name + ",是否选中:否");
//rdb.Checked = true;
}
break;
//其它值
default:
listBox1.Items.Add("控件名:" + ct.Name + ",值:" + ct.Text);
break;
}
}

xmhxjjq 2012-06-25
  • 打赏
  • 举报
回复
foreach(control con in this.controls){
if(con.typeof(textbox){

}
}

貌似是这样。 具体的代码等会贴上来吧。。
lovezhxf 2012-06-25
  • 打赏
  • 举报
回复
来人给个忙啊!

110,567

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧