如何从form3访问form1.webbrowser?

时间:2015-12-17 14:44:23

标签: c# .net webforms

我用C #Windows表单制作了一个Web浏览器,我将表单3作为历史记录,表单3包含listbox和一个名为go的按钮!

我想要button_click将webbrowser1(位于form1中)导航到listbox1.selecteditem.tostring()

在form1构造函数中:

public Form1()
{
    x = new Form3();
    x.Show();
    x.Visible = false;
    InitializeComponent();
}

并在打开表单3的按钮

{
    x.Visible = true;
}

在表格3按钮中说go:

{
    // namespace.form1.webbrowser1.navigate(listbox1.selecteditem.tostring()); // 
    this.Visible = false;
}

注释行中的错误,从表单3访问webbrowser的解决方案是什么!!

1 个答案:

答案 0 :(得分:1)

Form1传递给Form3构造函数作为参数:

class Form3
{
    Form1 _parent;
    public Form3(Form1 parent)
    {
        _parent = parent;
    }

    public void Method()
    {
        _parent.webbrowser1.navigate(listbox1.selecteditem.tostring());
        this.Visible = false;
    }
}

另外,在webbrowser1中制作public Form1或更好的公共方法:

class Form1
{  
    public void Navigate(string uri)
    {
        webbrowser1.navigate(uri);
    }
}

并从Form3

调用它
    public void Method()
    {
        _parent.Navigate(listbox1.selecteditem.tostring());
        this.Visible = false;
    }