C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 30 を表示中)
■14165 / )  Re[3]: form2からform1
□投稿者/ επιστημη (822回)-(2008/02/12(Tue) 06:08:24)
επιστημη さんの Web サイト
> private void listBox1_DoubleClick(object sender, EventArgs e)
>         {
>             try
>             {
>                 Form1 pointer = new Form1();
>                 string url3 = item.Link.ToString();
>                 pointer.webBrowser1.Navigate(new Uri(url3));          
>             }
>             catch
>             {
>             }
>         }

ここで新たにnewしたForm1は"今(Form2と共に)画面にある"Form1とは別物です。
だからこいつに何しても今あるForm1には何の変化ももたらしません。

Form2はどうやって表示しましたか?
おそらくForm1のメソッドの中で new Form2() ののち Show したはず。
Form2にForm1型のメンバをひとつ追加し、Showする前にForm1の参照を与えておきます。

class Form1 : Form {
  void なにか() {
    Form2 form2 = new Form2();
    form2.Master = this; // ここでセット
    form2.Show();
    ...
  }
}

class Form2 : Form {
  public Form1 Master; // これ追加
  private void listBox1_DoubleClick(object sender, EventArgs e) {
    try {
      string url3 = item.Link.ToString();
      Master.webBrowser1.Navigate(new Uri(url3)); // ここで参照          
    } catch {
    }
  }
  ...
}

返信 編集キー/


管理者用

- Child Tree -