0

私はC#が初めてで、すでにいくつかの問題を抱え始めています。これを行う方法を数時間グーグルで調べましたが、私のプログラムは彼のマスターに従うことを拒否しました。

私のMainFormにはListBoxがあります。Form2ファイルを開くダイアログを使用し、ファイル パスを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; }

doを作成するときForm2(おそらく 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 に答える