0

我是 C# 新手,已经开始遇到一些麻烦。我已经用谷歌搜索了几个小时如何完成这项工作,但我的程序拒绝服从他的主人。

我的MainForm有一个ListBoxForm2使用打开文件对话框,并应将文件路径返回到MainForm中的ListBox

这是我在Form2中的代码

public void BrowseFileDialog_FileOk(object sender, CancelEventArgs e)
    {
         string path = BrowseFileDialog.FileName;
         MainForm frm = new MainForm();
         frm.AppListAdd(path);
    }

这是主窗体

public void AppListAdd (string path)
    {
        AppList.Items.Add(path);
    }

注意:AppList = ListBox

我没有收到任何错误,但ListBox仍然为空。

4

1 回答 1

0

您正在创建一个新实例MainForm但不显示它,而可见/现有/真实的主窗体不受影响。

添加到Form2类:

public MainForm MainForm { get; set; }

当您创建Form2do 时(大概在 aMainForm的方法中):

Form2 form2 = new Form2();
form2.MainForm = this;

public void BrowseFileDialog_FileOk(object sender, CancelEventArgs e)
{
  string path = BrowseFileDialog.FileName;
  if (MainForm != null)
    MainForm.AppListAdd(path);
}
于 2013-09-18T02:04:35.650 回答