如何跨winforms使用对象

如何跨winforms使用对象,winforms,c#-2.0,Winforms,C# 2.0,我有一个自定义对象类的列表,代码如下 var itemList = new List<Item>(); 自从关于如何从列表中删除的问题得到回答以来,我的问题是如何从列表中访问已创建的项对象并从单独的windows窗体编辑其字段。 即 如何在编辑表单中编辑项变量。 所以如果我上二年级。如何从集合中的项目访问name属性?可以通过调用itemList.Removeitem从列表中删除项目 不确定你的第二个问题是什么 如果您有对项目的引用,您可以使用: 或要删除特定索引处的项目,请使用:

我有一个自定义对象类的列表,代码如下

var itemList = new List<Item>();
自从关于如何从列表中删除的问题得到回答以来,我的问题是如何从列表中访问已创建的项对象并从单独的windows窗体编辑其字段。 即

如何在编辑表单中编辑项变量。
所以如果我上二年级。如何从集合中的项目访问name属性?

可以通过调用itemList.Removeitem从列表中删除项目


不确定你的第二个问题是什么

如果您有对项目的引用,您可以使用:

或要删除特定索引处的项目,请使用:

现在,要跨不同类访问此itemList,请将其设置为pulic静态字段或属性:

public class MyForm {
    public static List<Item> ItemList;
}

使用itemList.Removeitem从列表中删除项目。至于第二个问题,您可以将列表传递给窗体的构造函数,或者在该窗体上具有public list属性,或者最终使变量public static,以便可以从代码中的任何位置访问它,尽管这通常不是一个好的设计,除非你想遵循单例模式。-1:请查看列表中的MSDN主题,如和,并用关于这些方法的更具体问题更新你的问题。另外,请不要在一篇文章中问两个问题。在第二个问题+1上清晰地编辑:有用的链接,可能不会有助于操作。。。最可能的情况是列表中按名称显示的项目,需要按名称进行删除-由于类上缺少相等项,删除可能会命中引用/值bahavior期望不匹配…@AlexeiLevenkov True,但我并不想涵盖从列表中删除项目的所有可能方法,只是大的方法。
List<Item> items = new List<Item>();
private void itemListBox_DoubleClick(object sender, EventArgs e)
{
    if (itemListBox.SelectedItem != null)
    {
        var editor = new form2();
        editor.Show(); //creating a new winform 
    } 
}
 itemList.Remove(someItem);
 itemList.RemoveAt(5);
public class MyForm {
    public static List<Item> ItemList;
}
MyForm.ItemList.Add(...);