winform上有多个pannel或者groupbox。pannel或者groupbox上有多个checkbox。怎样遍历checkbox。

可以实现么我只知道如果checkbox直接放在form上可以用control类来遍历。如果加上pannel或则groupbox则不知道如何处理。还有怎样在遍历的时候给字符... 可以实现么 我只知道如果checkbox直接放在form上可以用control类来遍历。如果加上pannel或则groupbox则不知道如何处理。还有怎样在遍历的时候给字符创加分隔符。最后一个不加,只有一个不加。 展开
 我来答
阳光的雷咩咩
2014-11-14 · TA获得超过1.4万个赞
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:7775万
展开全部
    public partial class Form1 : Form
    {
        //声明为全局变量
        List<CheckBox> chks = new List<CheckBox>();

        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            //调用示例
            FindChks(this);
            foreach (CheckBox c in chks)
                MessageBox.Show(string.Format(
                    "Name={0}, Text={1}", c.Name, c.Text));
        }

        //递归查找
        void FindChks(Control c)
        {
            if (c.HasChildren)
                foreach (Control cc in c.Controls)
                    FindChks(cc);
            else if (c is CheckBox)
                chks.Add(c as CheckBox);
        }
    }
更多追问追答
追问
非常感谢你的回答,对我很有用!请问第二个问题怎么解决就是我说的字符串分隔符,动态的取出选中的checkbox的文本相加。用,隔开每个checkbox的文本值!谢谢你!先采纳你的问题希望回答下这个问题!
追答
            //调用示例
            FindChks(this);

            //using System.Linq;
            string alls = string.Join(",", chks.Select(x => x.Text));
            MessageBox.Show(alls);
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式