☆用心生活☆-wonder-{改变自己才能让自己过上不一样的日子。为自己加油!}

关于CS模式下,控制一个容器内控件的值问题

 

 

 

     今天因为要做一个面板容器,面板容器里放了25个CheckBox控件,因为本人先排好了1-5个,然后自己随意COPY ,PASTE,而且中途还调换了很多控件的位置,最后命名的时候,虽然都是不管位置,都是1-25这样的编号编制过去的,可我再运用foreach循环的时候,确实是让我郁闷了很久,每次循环的时候,都是从ID编号15的位置开始查找,我这就纳闷了,反正我是第一次开始从事C/S模式开发,这个winForm我简直就是相当的感冒。

   后来咨询了下曾经开发C/S的朋友,他比较熟悉这块,他就说了,这个先必须在ADD的时候确立顺序,因为代码是从头至尾执行的,你先生成的控件,肯定得先去找到,呵呵,一下子如醍醐灌顶般,让我开窍了,有的时候你可能也是因为不熟悉,或者脑袋短路没及时的想到那里去,偶尔朋友帮忙,也觉得不错。见图

然后就直接写了代码进行全选等或者不全选等:

见代码

if (cbPortXSelectAll.Checked)
{
foreach (CheckBox cb in pnlPortXSlotAll.Controls)
{
cb.Checked
= true;
}
}
else
{
foreach (CheckBox cb in pnlPortXSlotAll.Controls)
{
cb.Checked
= false;
}
}

我这个还要就是有个功能当你选择一部分的时候,你可能需要取部分的值,比如,我选择了就为O,不选择就是X,那这代码就是如下代码可以实现:

自己写的,当做记录!

 


public string getinfo()
{
string  tempSlotInfo ="";
foreach (CheckBox cb in pnlPort1SlotAll.Controls)
{
if (cb.Checked)
{
tempSlotInfo
+= "O".ToUpper();
}
else
{
tempSlotInfo
+= "X".ToUpper();
}
}
return tempSlotInfo.ToUpper().ToString();
}

 

posted @ 2010-04-08 21:31  ☆用心生活☆  阅读(263)  评论(0编辑  收藏  举报
本作者写的任何文章均属原创,若要转载,请注明出处;若
进行与文章有关的商业行为,本作者保留拥有诉诸法律追究
侵权的任何行为。文章只代表本人某一学习时间段内对某一
技术的说明,不代表具有绝对的正确性,若要学习,请与各
位高手编程人员讨论学习。本文章也不代表自己某一时期某
一公司的任何专著和机密文件。仅仅提供自我学习和他人学
习的文章参考,以及自我知识记录。wanzegui325#163.com