0

所以,我有这个数组,它按一个按钮一个一个地添加元素,它用这个添加元素: arreglo.Add(textBox1.Text.ToString());

我只想将它可以添加到数组中的元素数量限制为 10。它最多可以有 10 个元素,不能再多了。我怎么做?

如果有帮助,这些是我认为可以提供帮助的代码的一部分:

ArrayList arreglo;
    public Form1()
    {
        InitializeComponent();
        arreglo = new ArrayList();
    }

        private void button5_Click(object sender, EventArgs e)
    {
        //Agregar
        arreglo.Add(textBox1.Text.ToString());
        /*if (arreglo.Count > 10)
        {
            listBox1.Items.Add("No more than ten elements");
        }*/
        this.textBox1.Clear();
        this.textBox1.Focus();
    }

顺便说一句,我还需要对该数组进行一些计算,但我已经涵盖了。

4

4 回答 4

1

你可以简单地解决这个问题:

private void button5_Click(object sender, EventArgs e)
    {
        //Agregar
        arreglo.Add(textBox1.Text.ToString());
        if (arreglo.Count > 10)
        {
            button5.Enabled = false;
        }
        this.textBox1.Clear();
        this.textBox1.Focus();
    }
于 2013-02-12T08:10:08.047 回答
1

这是一种更改数组容量的方法,在这种情况下,数组可以从 0 到 9(10 个元素)

class Program
{
    static void Main(string[] args)
    {
        ArrayList list = new ArrayList();
        for(int i = 1; i < 20; i++)
        {
            try
            {
                list.Capacity = 9;
            }
            catch (Exception)
            { button5.Enabled = false; }
            list.Add("teststring");
        }
        list = list;
    }
}
于 2013-02-12T08:16:07.293 回答
0

只需在添加数组有多少元素后检查并将Buttonenabled 属性设置为 false - 它会禁用按钮。

private void button5_Click(object sender, EventArgs e)
{
   arreglo.Add(textBox1.Text.ToString());
   this.textBox1.Focus();       
   this.textBox1.Clear();   

   if (arreglo.Count >= 10)
   {
       button5.Enabled = false;
   }
}
于 2013-02-12T08:10:01.370 回答
0

为什么ArrayList?你的目的是什么?

    private void button10_Click(object sender, EventArgs e)
    {
        if (arreglo.Count < 10)
        {
            arreglo.Add(textBox1.Text);
            this.textBox1.Clear();
            this.textBox1.Focus();
        }
        else
            button10.Enable = false;
    }
于 2013-02-12T08:18:25.427 回答