none
怎样建立一个CheckBox数组呢? RRS feed

  • 问题

  • 老师你好!

          我做Winform 界面,有很多个CheckBox控件需要添加到界面上,想咨询下怎么样可以建立一个CheckBox数组,用下标访问?谢谢!!!

    2019年8月23日 7:13

答案

  • Hi 

    我建议你可以用List来做到这件事,因为List可以添加或者删除元素,而数组却不能。

    代码:

      private void Form1_Load(object sender, EventArgs e)
            {
                List<CheckBox> list = new List<CheckBox>() { new CheckBox(), new CheckBox(), new CheckBox(), new CheckBox(), new CheckBox(), new CheckBox(), new CheckBox()};
                for (int i = 0; i < list.Count; i++)
                {
                    list[i].Location = new Point(10, 20 * i);
                    list[i].Text = "checkbox" + i;
                    this.Controls.Add(list[i]);
                }
    
            }

    如果你必须要用数组,可以这样转换。

      CheckBox  []array = list.ToArray();

    Result:

    Best Regards,

    Jack


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2019年8月23日 7:45
    版主

全部回复

  • Hi 

    我建议你可以用List来做到这件事,因为List可以添加或者删除元素,而数组却不能。

    代码:

      private void Form1_Load(object sender, EventArgs e)
            {
                List<CheckBox> list = new List<CheckBox>() { new CheckBox(), new CheckBox(), new CheckBox(), new CheckBox(), new CheckBox(), new CheckBox(), new CheckBox()};
                for (int i = 0; i < list.Count; i++)
                {
                    list[i].Location = new Point(10, 20 * i);
                    list[i].Text = "checkbox" + i;
                    this.Controls.Add(list[i]);
                }
    
            }

    如果你必须要用数组,可以这样转换。

      CheckBox  []array = list.ToArray();

    Result:

    Best Regards,

    Jack


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2019年8月23日 7:45
    版主
  • 建议将多个CheckBox放到一个Pannel中,

    var boxList= new List<CheckBox>();

    Pannel.Controls.Clear();

    for(int i = 0;i< count;i++)

    {

        boxList.Add(new CheckBox(){Text="文本"+i.ToString(), Name="chk"+i.ToString(), Location = new Point(10,20*i)});

        Pannel.Controls.Add(boxList[i]);

    }



    ericzhou


    • 已编辑 ericzhou 2019年8月23日 9:45
    2019年8月23日 9:45