0

refreshToolStripMenuItem別のフォームからクリック イベントを送信する必要があります。これが私が持っているものですが、何らかの理由で機能しません。助けてください。

メニュー項目のクリック:

public void refreshToolStripMenuItem_Click(object sender, EventArgs e)
{
    noteslist.Items.Clear();
    idlist.Items.Clear();
    setnotes();
}

イベントの送信に使用されるコード:

frmnotes notes = new frmnotes();
notes.refreshToolStripMenuItem_Click(this, e);
this.Close();
4

1 に答える 1

1

イベント自体を呼び出さないでください。悪いコードです。独自の保護された void updateMyList() メソッドを作成します。

    internal void updateMyList()
    {
         noteslist.Items.Clear();
         idlist.Items.Clear();
         setnotes();
    }

次に、イベント内から update-method を呼び出します。

    private void refreshToolStripMenuItem_Click(object sender, EventArgs e)
    {
        updateMyList();
    }

次に、フォームから update-method を呼び出すだけです。

       frmnotes notes = new frmnotes();
       notes.updateMyList();
       this.Close();

ところで: Click イベントの修飾子、つまり refreshToolStripMenuItem_Click を非公開に設定します。フォームの外からそれらを呼び出すべきではありません。詳細については、MVC パターンをご覧ください。本当に助かります。

于 2012-12-10T11:52:31.963 に答える