从另一个表单刷新列表框

时间:2015-04-23 21:46:41

标签: c# winforms class methods

这是我的程序:

enter image description here

我想要实现的是,一旦我点击“添加事件”,就会刷新事件列表框(如您所见,它在主窗体中)。通常,当主窗体加载时,列表会刷新(从.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传递到其中,以使其工作。但是,如何将表单A中的表单A中的列表框传递给C类中的方法?

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

1 个答案:

答案 0 :(得分:0)

Form1课程中,创建一个引用ListBox

的静态变量
    public static ListBox ListBoxRef;
    public Form1()
    {
        InitializeComponent();
        ListBoxRef = this.lstOutPut;
        ...
    }

然后在Form2

ClassC.DisplayOnlyEvents(Form1.ListBoxRef);