从另一个表单激活工具条单击事件

时间:2012-12-10 11:30:01

标签: c# .net toolstrip

我需要从另一个表单向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();

1 个答案:

答案 0 :(得分: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();

Btw。:设置Click事件的修饰符,即refreshToolStripMenuItem_Click为private。 你永远不应该从表格外面打电话给他们。 看一下MVC模式以获取更多信息。这真的有帮助。