form2からform1のリストボックスに新しいアイテムを追加しようとしています。その背後にある考え方は、form2アクティビティに基づいて、それぞれが互いに異なる(または同じであるかどうかは関係ありません)さまざまなアイテムのリストを作成することです。form1を開いて(そしてショッピングリスト(リストボックス)があります)、form2を開いてボタンをクリックすると、form1のリストに「バナナ」が追加されます。どうすればよいですか?form1に"addToList(parameter)"メソッドを追加し、form2から呼び出してパラメーターを渡すなど、さまざまな方法を試しましたが、リストは空のままですが、メッセージボックスなどの他のものがポップアップします。これを解決するには?
フォーム1でこのメソッドを使用してアイテムをリストに追加すると、次のように機能します。
public void addToList()
{
MessageBox.Show("Adding stuff to list");
listEvent.Items.Add("New item 1");
listEvent.Items.Add("new item 2");
MessageBox.Show("Done adding");
listEvent.Refresh();
}
今、私が別のクラス/フォームからそれを呼び出そうとするとき、私はこれを使用します:
public void changeForm()
{
EventPlanner mainEventForm = new EventPlanner();
mainEventForm.addToList();
}
または:
private void btnAddEvent_Click(object sender, EventArgs e)
{
EventPlanner mainEventForm = new EventPlanner();
mainEventForm.addToList();
}
しかし、それでも機能しません。form1(eventplanner、リストがある場合)から使用すると、完全に正常に機能します。アクセスモディファイアをパブリックに変更したので、問題はありません。