簡體   English   中英

我想更新我的列表框,但是不起作用

[英]I want to update my listbox but it doesn't work

我嘗試將Form2中的數據檢索到,但在Form2中沒有顯示任何內容:單擊更新按鈕時,它只是向我顯示空白Form2:

我正在做的Form1:

ProductList products = new Prod
          private void button2_Click(object sender, EventArgs e)
    {

        int i = this.lstPerson.SelectedIndex;
            Product product = products[i];
            Form2 frmUpdate = new Form2();
            product = frmUpdate.GetNewProduct();
            products[i] = product;
            products.Add(product);
            FillProductListBox();
        }


    private void FillProductListBox()
    {
        lstPerson.Items.Clear();
        foreach (Product p in products)

            lstPerson.Items.Add(p.GetDisplayText("\t"));

    }    

在產品類別中:

             public class Product
{
    private string firstname;
    private string lastname;
    private string email;

    public Product()
    {
    }

    public Product(string firstname, string lastname, string email)
    {
        this.Firstname = firstname;
        this.Lastname = lastname;
        this.Email = email;
    }

    public string Firstname
    {
        get
        {
            return firstname;
        }
        set
        {
            firstname = value;
        }
    }

    public string Lastname
    {
        get
        {
            return lastname;
        }
        set
        {
            lastname = value;
        }
    }

    public string Email
    {
        get
        {
            return email;
        }
        set
        {
            email = value;
        }
    }

    public virtual string  GetDisplayText(string sep)
    {
        return Firstname + sep + Lastname + sep + Email;
    }

}

圖書類:私人雙重評估等級; 私人雙重作業等級;

    public Book()
    {
    }

    public Book(string firstname, string lastname, double assessmentGrade,double assignmentGrade,
        string email) : base(firstname, lastname, email)
    {
        this.AssessmentGrade = assessmentGrade;
        this.AssignmentGrade = assignmentGrade;
    }

    public double AssignmentGrade
    {
        get
        {
            return assignmentGrade;
        }
        set
        {
            assignmentGrade = value;
        }
    }


    public double AssessmentGrade
    {
        get
        {
            return assessmentGrade;
        }
        set
        {
            assessmentGrade = value;
        }
    }


    public override string GetDisplayText(string sep)
    {
        return base.GetDisplayText(sep) + " (" + AssessmentGrade + ")" + AssignmentGrade;
    }

與軟件類相同。

在Form2中

private Product product = null;

    public Product GetNewProduct()
    {
        this.ShowDialog();
        return product;
    }


                 private void btnSave_Click(object sender, System.EventArgs e)
    {
        if (IsValidData())
        {
            if (rbBook.Checked)
                product = new Book(txtName.Text, txtLName.Text,
                    Convert.ToDouble(txtAssessGrade.Text), Convert.ToDouble(txtAssigGrade.Text), txtEmail.Text);
            else
                product = new Software(txtName.Text, txtLName.Text,
            Convert.ToInt32(txtAssessGrade.Text), txtEmail.Text);
            this.Close();
        }
    }

我什么也沒告訴我,只是在列表框中添加更多數據,不更新數據,也不在Form2中檢索數據。您能告訴我怎么做嗎?

//in Form2

public partial class Form2 : Form
{
    private Product product = null;
    public Form2()
    {
        InitializeComponent();
    }
    public Product GetNewProduct()
    {
        return product;
    }


    private void btnSave_Click(object sender, System.EventArgs e)
    {
        if (IsValidData())
        {
            if (rbBook.Checked)
            {
                product = new Book(txtName.Text, txtLName.Text,
                    Convert.ToDouble(txtAssessGrade.Text), Convert.ToDouble(txtAssigGrade.Text), txtEmail.Text);
                this.Close();
            }
        }
    }

    private bool IsValidData()
    {
        return true;
    }
}

//Modify in Form1:



       public partial class Form1 : Form
            {
                private ArrayList products = new ArrayList();
                public Form1()
                {
                    InitializeComponent();
                }

                private void button1_Click(object sender, EventArgs e)
                {


                    Form2 frmUpdate = new Form2();
                    frmUpdate.ShowDialog();
                    Product product = frmUpdate.GetNewProduct();
                    products.Add(product);
                    FillProductListBox();

                }
                private void FillProductListBox()
                {
                    lstPerson.Items.Clear();
                    foreach (Product p in products)

                        lstPerson.Items.Add(p.GetDisplayText("\t"));

                }    
            }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM