(c# + windows forms) Adding items to listBox in different class

后端 未结 3 1999
没有蜡笔的小新
没有蜡笔的小新 2021-01-22 05:00

I have two classes(forms), and I would like an item from class2 to be added to listBox in class1 when I click \"Accept\" button.

I

相关标签:
3条回答
  • 2021-01-22 05:49

    you created a new entity of type CarRental. what you should do is to send the first form to the second on construct, and modify things through that instance.

    0 讨论(0)
  • 2021-01-22 05:52

    You need to access the open form instead of creating new instance of CarRental form

    private void button1_Click(object sender, EventArgs e)
    {
        CarRental i = (CarRental)Application.OpenForms["CarRentalFormObjectName"];
        string id = idRental.Text.ToString();
    
        i.listBox1.Items.Add(id);
        i.listBox1.Update();
        this.Close();
    }
    
    0 讨论(0)
  • 2021-01-22 05:59

    Declare RentalId property on Form2. And at CarRental form (your first form) do following:

    using(Form2 form2 = new Form2())
    {
        if (fomr2.ShowDialog() != DialogResult.OK)
            return;
    
        listBox.Items.Add(form2.RentalId);
    }
    

    Implement Fomr2.RentalId property this way:

    public string RentalId
    {
       get { return idRental.Text; } // you don't need ToString() call
    }
    

    Then select your "Accept" button and set its DialogResult property to OK. Thus clicking on that button will close your dialog form and return DialogResult.OK.

    0 讨论(0)
提交回复
热议问题