我用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的解决方案是什么!!
答案 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;
}