不能从其他表单添加列表框项

本文关键字:列表 添加 表单 其他 不能 | 更新日期: 2023-09-27 17:54:21

问题:我有两个表单。一个是列表框,另一个是窗体按钮。当我在第二个表单中触发按钮时,我希望添加一个ListBox项。用下面的代码试了试,计算工作了,但是由于某种原因,它没有将项目添加到ListBox中。

带有ListBox的表单:

    public void addList(string sName)
    {
        listBox.Items.Add(sName + " " + Annuitätenrechner.zgErg.ToString("0.00") + "€" + " " + Annuitätenrechner.zmErg.ToString("0.00") + "€");
    }

带有按钮的表单:

    public void bAdd_Click(object sender, RoutedEventArgs e)
    {
        string sMonate = monate2.Text;
        string sZins = zins2.Text;
        string sName = name2.Text;
        if ((monate2.Text == "" && zins2.Text == "") || (sMonate.Contains('-')) || (sZins.Contains('-')))
        {
            MessageBox.Show("Die eingegebenen Werte müssen größer als 0 sein.");
        }
        else
        {
            Daten data = new Daten();
            data.AnBetrag = int.Parse(betrag2.Text);
            data.AnMonate = int.Parse(monate2.Text);
            data.AnZins = double.Parse(zins2.Text) / 100;
            GlobaleDaten.AlleAnnuitaeten.Add(data);
            Annuitätenrechner annuitätenrechner = new Annuitätenrechner();
            annuitätenrechner.AnRechner(data);
            MainWindow mainwindow = new MainWindow();
            mainwindow.addList(sName);
        }
    }

如果你需要更多的信息,请随时询问。

不能从其他表单添加列表框项

发送一个FormWithListBox的引用给FormWithButton,示例:

public class FormWithListBox
{
    private void openFormWithButton()
    {
        var formWithButton = new FormWithButton(this);
        formWithButton.Show();
    }
    public void addList(string sName)
    {
        listBox.Items.Add(...);
    }
}
public class FormWithButton
{
    private readonly FormWithListBox _form;
    public FormWithButton(FormWithListBox form)
    {
        _form = form;
    }
    public void bAdd_Click(object sender, RoutedEventArgs e)
    {
        _form.addList("...BlaBlaBla...");
    }
}