C# 从其他窗体刷新列表框

C# 从其他窗体刷新列表框,c#,winforms,class,methods,C#,Winforms,Class,Methods,这是我的计划: 我试图实现的是,一旦单击AddEvent,事件列表框就会刷新,正如您所看到的,它是以主窗体的形式出现的。通常,当主窗体加载时,列表会从.txt文件中刷新加载,我在单独的类C中为它提供了一个方法 public static void DisplayOnlyEvents(ListBox lstOutput) { //clear listbox first lstOutput.Items.Clear();

这是我的计划:

我试图实现的是,一旦单击AddEvent,事件列表框就会刷新,正如您所看到的,它是以主窗体的形式出现的。通常,当主窗体加载时,列表会从.txt文件中刷新加载,我在单独的类C中为它提供了一个方法

    public static void DisplayOnlyEvents(ListBox lstOutput)
    {
        //clear listbox first            
        lstOutput.Items.Clear();
        string output;

        //output data 
        foreach (Event Event in frmMainWindow.AllExistingEvents)
        {
                    output = (Event.getDescription());
                    lstOutput.Items.Add(output);


        }
    }
显然,这个方法需要将一个列表框从main-from传递到它,以便它工作。但是,我如何将形式为a的列表框从形式B传递到类型C中的方法呢

如果您需要更多信息,请询问。任何帮助都将不胜感激。

在Form1类中,创建一个引用列表框的静态变量

然后在你的表格2中:


讽刺的是,你可以使用事件处理来解决你的问题。用谷歌搜索一下如何将参数传递到另一个表单如果使用得当,谷歌是一个救命稻草。。看看这个免费的b
    public static ListBox ListBoxRef;
    public Form1()
    {
        InitializeComponent();
        ListBoxRef = this.lstOutPut;
        ...
    }
ClassC.DisplayOnlyEvents(Form1.ListBoxRef);