【发布时间】:2014-12-03 19:49:50
【问题描述】:
我试图找到一种方法来解决这个问题,但我似乎无法得到任何工作。我有一个表单,它有一个按钮,可以打开第二个表单,上面有一个列表框,里面装满了屏幕上的项目。然后我将所有这些项目放入一个列表中。这些项目一旦出现在 form1 上,就会再次放入列表框中。
我遇到的问题是,我一生都无法弄清楚如何访问列表框或列表的元素,我需要从主窗体访问它,否则我无法做任何其他事情.
public partial class product_list : Form
{
public List<string> ProductList { get; private set; }
public product_list()
{
InitializeComponent();
ProductList = new List<string>();
}
public void btnAdd_Click(object sender, EventArgs e)
{
string selectedItem = (string)listBox1.SelectedItem;
listBox2.Items.Add(selectedItem);
ProductList.Add(selectedItem);
}
public void btnRemove_Click(object sender, EventArgs e)
{
string selectedItem = (string)listBox2.SelectedItem;
listBox2.Items.Remove(selectedItem);
ProductList.Remove(selectedItem);
}
public void btnClose_Click(object sender, EventArgs e)
{
this.Close();
}
}
这是我的第二种形式。下面是我到目前为止的主要表单代码
public partial class Form1 : Form
{
Form productSelect = new product_list();
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
Register.Visible = true;
}
private void btnService_Click(object sender, EventArgs e)
{
}
private void btnProduct_Click(object sender, EventArgs e)
{
productSelect.ShowDialog();
var itemsFromSecondForm = productSelect.ProductList;
}
}
如您所见,我对它的了解并不多,但这已经让我坚持了一段时间。
任何人都可以使用一种方法来获取列表框中的所有元素或 form1 中的列表本身吗?
编辑:将我的代码更新为我现在所拥有的。仍然收到错误
错误 1“System.Windows.Forms.Form”不包含“ProductList”的定义,并且找不到接受“System.Windows.Forms.Form”类型的第一个参数的扩展方法“ProductList”(是您缺少 using 指令或程序集引用?)
【问题讨论】:
-
您是否已通过代码...?还有什么列表是私有的,公共的,静态的..?我认为默认情况下,如果您没有将列表类型明确声明为
public,那么默认情况下它是私有的