求助关于FORM窗体的问题
我做的一个WINDOWS桌面程序,第1个窗体上有一个文本框和BUTTON按钮,第2个窗体上有1个webBrowser和返回按钮,需要在第1个窗体上的文本框中输入域名,点按钮后显示第2个窗体,并在webBrowser上显示网页内容,再点返回按钮,隐藏第二个窗体;再次输入1个新的域名后要在第2个窗体上显示相应的网页内容,以此反复。我已实现了前半部分功能,就是再次输入1个新的域名后要在第2个窗体上显示相应的网页内容无法实现,只能显示先前的网页内容。这该如何实现?望高手请教,谢谢!
代码如下:
Form1:
public partial class Form1 : Form
{
private Form2 frm = new Form2();
static public string urlName;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
urlName = textBox1.Text.Trim().ToString();
frm.Show();
}
Form2:
private void Form2_Load(object sender, EventArgs e)
{
Uri siteUri = new Uri("http://" + Form1.urlName);
webBrowser1.Navigate(siteUri);
}
private void button1_Click(object sender, EventArgs e)
{
this.Hide();
}
------解决方案--------------------因为你的Form2只是隐藏后重新显示,所以无法重新加载网页。
这样试试
Form1:
public partial class Form1 : Form
{
static public string urlName;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Form2 frm = new Form2();
urlName = textBox1.Text.Trim().ToString();
frm.Show();
}
Form2:
private void Form2_Load(object sender, EventArgs e)
{
Uri siteUri = new Uri("http://" + Form1.urlName);
webBrowser1.Navigate(siteUri);
}
private void button1_Click(object sender, EventArgs e)
{
this.Close();
}
或者可以在Form2中写个公用函数来调用
Form1:
public partial class Form1 : Form
{
private Form2 frm = new Form2();
static public string urlName;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
urlName = textBox1.Text.Trim().ToString();
frm.showForm2(urlName);
frm.Show();
}
Form2:
private void Form2_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
this.Hide();
}
public void showForm2(string url)
{
Uri siteUri = new Uri("http://" + url);
webBrowser1.Navigate(siteUri);
}
没有测,lz可以试试