我在将列表中的项目放入文本框时遇到问题。我在Visual Studio中使用Windows窗体。
我有一个带有一些文本框的表单,并将输入放到列表中。该列表包含客户,用户通过其中一个文本框向客户提供ID。现在我想从列表中获取所有项目到下一个表单。
我在公共课中列出了这个名单:
public class myClassCustomer
{
public List<customerInformation> cusInformation = new List<customerInformation>();
public class customerInformation
{
public string customerId { get; set; }
public string phoneNumber { get; set; }
public string adress { get; set; }
}
用于在form1中保存输入的代码:
myClassCustomer myClassCustomer = new myClassCustomer()
customers.cusInformation.Add(new myProject.myClassCustomer.customerInformation
{
customerId = txtCustomerId.Text,
phoneNumber = txtPhonenumber.Text,
adress = txtAdress.Text
});
现在在form2中这是我到目前为止所写的:
public form2()
{
InitializeComponent();
myClassCustomer myClassCustomer = new myClassCustomer();
}
有谁知道如何从列表中获取所有项目?
答案 0 :(得分:1)
我认为这个问题归结为如何<#34; 将所有项目从列表中提取到下一个表单&#34;而不是标题建议&#34; 按ID &#34;
从列表中获取项目问题&#34;任何人都知道如何从列表中获取所有项目?&#34;有点同义反复,因为列表已经是所有项目。
因此,我将专注于回答有关下一个表单可用列表项的问题。我认为&#34;客户&#34;基本上只是一个List,如果它不是,你应该考虑使用它而不是自制列表类,除非你有一个非常具体的要求。至少,我希望customers类实现IEnumerable接口。
为了使这个其他表单能够访问您的客户列表,您需要以某种方式提供该信息:例如,您可以更改其他表单的构造函数以要求客户列表。然后,当这个原始表单调用第二个表单时,它必须传入该列表,它可能已填充为参数。
还有一些其他方法可以在您的应用程序周围传播这些信息,但听起来您只是处于初学者级别,因此上面给出的方法可能是最简单的。
如果没有回答,也许你可以澄清你的问题。
修改:您自己的一些编辑更改了我评论的代码。现在看来,你不是在列表之后,但建议是一样的;而不是传递一个List,你只是传递一个myClassCustomer。
答案 1 :(得分:0)
只需在form1中定义一个公共属性
public List<customerInformation> AllCustomers
{
get { return yourList; }
}
从Form2
打开Form1
时,请使用以下代码:
Form2 f2 = new Form2();
f2.Show(this);
然后,您可以从Form2访问您的客户:
var myCustomerList = ((Form1)Owner).AllCustomers;