Мне нужна помощь Заполнение данных listBox при загрузке формы c # - PullRequest
0 голосов
/ 11 ноября 2019

Я работаю над задачей, которая просит меня создать класс с именем customer, этот класс будет включать 3 автоматически реализованных свойства с именами FName, LName и Phone, параметризованный конструктор и метод GetCustomer.

Затем я должендобавьте список объектов Customer в проект (не в классе) и назовите его CustomerDB.

Затем создайте метод LoadDB, который добавляет 4 новых объекта клиента (данные приведены в таблице ниже) в список CustomerDB. то есть имя, имя, фамилия, имя и фамилия Том Доу 555-7654 Брэд Питт 555-6543 Джилл Джек 555-5432 Пит Пол 555-1234

Этот метод следует вызывать при загрузке формы, заполняя список данными.

Это то, что я имею до сих пор.

`public partial class Form1 : Form
 {


    private string fName, lName, phone;

    public Form1()
    {
        InitializeComponent();

    }




    private void Form1_Load(object sender, EventArgs e)
    {
        LoadDB();
    }


    private void LoadDB()
    {


        List<Customer> CustomerDB = new List<Customer>();


        CustomerDB.Add(new Customer { FName = "Tom", LName = "Doe", Phone = "555-7654" });
        CustomerDB.Add(new Customer { FName = "Brad", LName = "Pitt", Phone = "555-6543" });
        CustomerDB.Add(new Customer { FName = "Jill", LName = "Jack", Phone = "555-5432" });
        CustomerDB.Add(new Customer { FName = "Peter", LName = "Paul", Phone = "555-4321" });




              }
         }

    class Customer
    {
    public string FName { get; set; }
    public string LName { get; set; }
    public string Phone { get; set; }

    public Customer(string fN, string lN, string ph)

    {
        FName = fN;
        LName = lN;
        Phone = ph;
    }




    public string GetCustomer()
    {

        return "FirstName: " + FName + "   LastName: " + LName + "  Phone: " + Phone;
    }
}

}

Моя задача - получить метод loadDB для заполнения моего lstBox данными при первой загрузке формы. Я исследовал различные онлайн материалы весь день. Наконец-то прибегли к тому, чтобы спросить здесь. Заранее спасибо, я очень ценю помощь.

1 Ответ

1 голос
/ 11 ноября 2019

Вам необходимо использовать переопределенный метод ToString в классе Customer:

public class Customer
{

    public override string ToString()
    {
        return GetCustomer();
    }

    ...

}

Таким образом, в списке могут отображаться все элементы по мере необходимости.

Вы можете приспособиться к тому, чтоВы хотите, чтобы список отображался.

Чтобы использовать конструктор и заполнить список, вам нужно написать:

private void LoadDB()
{
  List<Customer> CustomerDB = new List<Customer>();

  CustomerDB.Add(new Customer("Tom", "Doe", "555-7654"));
  CustomerDB.Add(new Customer("Brad", "Pitt", "555-6543"));
  CustomerDB.Add(new Customer("Jill", "Jack", "555-5432"));
  CustomerDB.Add(new Customer("Peter", "Paul", "555-4321"));

  listBox1.Items.AddRange(CustomerDB.ToArray());
}

Если вы хотите сохранить переменную CustomerDB, вам нужнопереместите его на уровень класса.

public partial class Form1 : Form
{

  List<Customer> CustomerDB = new List<Customer>();

  ...

}


enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...