-4

我有一个项目正在努力解决如何从列表中删除的问题。

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

该项目有一个名为 Pickcuplist 的列表类和 2 个 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;

这是主表单添加的代码

  /*
            * 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
4

2 回答 2

0

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

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

如果您可以从此类访问pickupList,请RemoveAt从那里调用。

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

于 2012-12-05T00:07:08.500 回答
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

因此,在您的情况下,您将有一个事件或触发删除的东西,此时您需要找到要删除的项目的索引并调用该方法。如果您对此感到苦恼,您真的应该考虑做一些教程,这是非常基础的。

于 2012-12-05T00:03:51.623 回答