RemoveAt索引c#

时间:2012-12-04 23:51:31

标签: c# list

我有一个项目,我正在努力如何从列表中删除。

我要删除的列表项是用户从列表框中选择的索引处的任何项目。

该项目有一个名为Pickcuplist的列表,一个用于主窗体的GUI一个,另一个用于拾取窗体。拾取形式是删除按钮的位置,但是选择了索引的列表框位于主窗体上。

我找到了List.RemoveAt然而我似乎无法让它工作。

项目将添加到列表中,例如从拾取表单表单中添加:

txtCustName.Text = thePickup.name;
txtCustAddress.Text = thePickup.address;
txtArrival.Text = thePickup.arrival.ToString();
txtDaddress.Text = thePickup.Daddress;
txtDeliveryName.Text = thePickup.Dname;
LblType.Text = thePickup.type;

这是主要表单add

的代码
  /*
            * This method creates a new pickup object, allows the user to
            * enter details and adds it to the List
            *  
            */

        Pickupform.pickup = new Pickups();
        //New Visit- note added to the pickupform object

        Pickupform.ShowDialog();
        //Show the pickupForm. ShowDialog ensures that the form has the exclusive focus until it is closed.

        if (Pickupform.pickup != null)
        //if null then the "cancel" button was pressed
        {
            Pickups newpic = Pickupform.pickup;
            //Get the Pickup object from the form

            thePickup.addPickups(newpic);
            //Add the visit to the list
        }
        updateList();
        //Update the list object to reflect the Pickups in the list

2 个答案:

答案 0 :(得分:0)

请查看此链接(http://www.dotnetperls.com/removeat)

关键在于:

var list = new List<string>();
list.Add("dot");
list.Add("net");
list.Add("perls");

list.RemoveAt(1); <-- See, you pass in an integer

因此,在您的情况下,您将有一个事件或触发删除的事件,此时您需要找到要删除的项目的索引并调用该方法。如果你正在努力解决这个问题,你应该考虑做一些教程,这是非常基础的。

答案 1 :(得分:0)

转到代表具有“删除”按钮的Form的类。

找到附加到此按钮的Click事件的事件处理程序。

如果您可以访问此课程中的pickupList,请从那里拨打RemoveAt

如果您无权访问它,请找到将列表传递给其他表单的方法。例如,如果带有“删除”按钮的表单是从另一个表单创建的,那么您可以将列表作为构造函数参数传递,并使用“删除”按钮将其保存在表单中的字段中。