winform毕业设计急需帮忙:label.text能不能遍历?

this.label_problem_1.Text = dt.Rows[0].ItemArray[3].ToString();
this.label_problem_2.Text = dt.Rows[1].ItemArray[3].ToString();
this.label_problem_3.Text = dt.Rows[2].ItemArray[3].ToString();
this.label_problem_4.Text = dt.Rows[3].ItemArray[3].ToString();
this.label_problem_5.Text = dt.Rows[4].ItemArray[3].ToString();
..................................
在winform中我的label控件的text属性我想动态的从数据库中取出来,但label有很多!取出数据可以用循环遍历什么的,但控件怎么遍历呢???希望解决
...全文
176 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
谢谢了 我找到一个方法 可以遍历的
count_program = dt_question.Rows.Count; //获得特定科目选择题的考题总数
h = Convert.ToInt32(exam_option_number); // 用来根据考试设置 确定选项的个数
int beishu = 0; //此变量的取值根据设置的选项个数动态的 控制考题选项内容在数据库中的列数
if (count_program > 20) //判断考题数目是否超过窗体容量
{
count_program = 20;
//count_option = 20 * h;
}
for (int i = 0; i < count_program; i++) //根据考题的个数 控制循环
{
panel = "panel_" + (i + 1).ToString() + "_question"; //动态的获得窗体中panel控件的名称
label_problem = "label_problem_" + (i + 1).ToString(); //动态的获得显示考题题目的的所有label控件的名称
this.Controls[panel].Controls[label_problem].Text = (i + 1).ToString() + "、" + dt_question.Rows[i].ItemArray[3].ToString();// 根据循环把数据库中的考题显示在隶属于panel的label上
for (int j = 0; j < h; j++) //根据设置的考题选项的个数 控制循环
{
rbt_option = "rbt_option_" + (i + 1).ToString() + "_" + (j + 1).ToString(); //根据嵌套的循环 动态获取单选按钮的名称
label_problem = "label_problem_" + (i + 1).ToString() + "_" + (j + 1).ToString(); //根据嵌套的循环 动态获取存放考题选项的label控件的 名称


this.Controls[panel].Controls[rbt_option].Text = dt_option.Rows[beishu + j].ItemArray[3].ToString(); //在数据库中取出显示单选按钮的选项名称
this.Controls[panel].Controls[label_problem].Text = dt_option.Rows[beishu + j].ItemArray[4].ToString();//在数据库中取出显示对应选项名称的选项内容
((RadioButton)this.Controls[panel].Controls[rbt_option]).TabStop = false; //** 将单选按钮的tabstop设为假,使其在循环的最后一次时停在那的焦点 不能成功 ,不写此句,最后一题将把焦点定位在第一个选项
this.Controls[panel].Controls[rbt_option].Visible = true; //动态的显示单选按钮控件
//if ((i+1) == count_program&&j==1)//bug
//{
// RadioButton bug = (RadioButton)this.Controls.Find(rbt_option, true)[0];
// bug.Checked = false;
//}
}
beishu += h; //跟据设置的选项个数累加
}
wt86david 2008-09-03
  • 打赏
  • 举报
回复
建议尝试做一个用户自定义控件,这样用一个Lable就解决了
duanfengo7 2008-08-27
  • 打赏
  • 举报
回复
控件遍历不了你可以换其它的控件使用撒..用LIST吧..
for(int i = 0;i<5;i++)
list.items.add((object)dr.rows[i].ItemArray[3].tostring());

695

社区成员

发帖
与我相关
我的任务
社区描述
提出问题
其他 技术论坛(原bbs)
社区管理员
  • community_281
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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