dポイントプレゼントキャンペーン実施中!

サブフォームに設定したボタンをクリックしたらメインフォームのイベントを実行とかは可能でしょうか?

メインフォーム→Main
サブフォーム→Sub

Mainに、ウェブブラウザ(webbrowser1)を用意して、
サブフォームのボタン(button1)をクリックしたら、
webbrowser1に、http://www.yahoo.co.jp
が表示すると言うプログラムを作りたいです。

以下のプログラムではエラーが出てしまいました。

まず、Mainのフォームロード時にSubが開くように設定。
※webbrowser1のModifiersをinternalに設定。

private void Main_Load(object sender, EventArgs e)
{
Sub subform = new Sub();
subform .Show();
}

次に、Subで

Main mainform;

private void button1_Click(object sender, EventArgs e)
{
mainform.webbrowser1.Navigete("http://www.yahoo.co.jp")
}

と書いて、実行時のエラーは無く実行できたのですが、
button1をクリックすると、エラーが出て止まってしまいます。

逆に、Subにウェブブラウザを置いて、Mainから操作するのは上記のプログラムで問題なく動きました。

どうすれば、Subからメインのイベントを操作できるのでしょうか?
よろしくお願いします。

A 回答 (1件)

> button1をクリックすると、エラーが出て止まってしまいます。


どんなエラー?

// 僕ならこうする
// ----- Form1 (WebBrowser と Button)
public partial class Form1 : Form {
public Form1() {
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e) {
Form2 slave = new Form2(this);
slave.Show(this);
}

public void Navigate(string url) {
webBrowser1.Navigate(url);
}
}


// ----- Form2 (TextBox とButton)
public partial class Form2 : Form {
public Form2(Form1 master) {
master_ = master;
InitializeComponent();
}

private Form1 master_;

private void button1_Click(object sender, EventArgs e) {
master_.Navigate(textBox1.Text);
}

}
    • good
    • 0
この回答へのお礼

素早い回答感謝します!
これで出来ました!!
ありがとうございますm(_ _)m

お礼日時:2014/06/12 21:48

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!