我试图将网址从一个表单传递到另一个表单(两者都在同一个项目中)。
第一个表单中包含一个Web浏览器控件。它还有一个按钮,按下按钮即可启动第二个表格。第二种形式只有一个带有硬编码网址的按钮。当用户点击按钮时,url应该传递给第一个表单,webbrowser应该导航到该链接。以下是我尝试的简单代码
Form1中:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public void loadwebpage(string link)
{
webBrowser1.Navigate(link);
}
private void button1_Click(object sender, EventArgs e)
{
secondForm form2 = new secondForm();
form2.Show();
}
}
窗体2:
public partial class secondForm : Form
{
public secondForm()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
this.Close();
Form1 form1= new Form1();
form1.loadwebpage("http://www.google.com");
}
}
以上代码无效,webbrowser控件无法导航到google页面。任何人都可以帮忙
答案 0 :(得分:1)
将第一个表单作为参数发送到第二个表单。在第二个表单上,您可以在类上创建一个与第一个表单的类型匹配的属性。
在第二种形式的构造函数中,设置所述属性。
当用户单击第二个表单上的按钮时,引用已设置为第一个表单实例的类的属性并调用loadwebpage函数。
编辑:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public void loadwebpage(string link)
{
webBrowser1.Navigate(link);
}
private void button1_Click(object sender, EventArgs e)
{
secondForm form2 = new secondForm(this);
form2.Show();
}
}
表格2:
public partial class secondForm : Form
{
public Form1 form1 { get; set;}
public secondForm(Form1 f)
{
form1 = f;
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
this.Close();
form1.loadwebpage("http://www.google.com");
}
}