form和webbrowser的Dispose方法
我在MSDN里看到使用完webbrowser之后要调用dispose方法释放.但是我在窗体关闭的时候调用Dispose方法.会打开一个新的IE,IE的网址就是窗体关闭时webbrowser的网址.
private void webBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
if (e.Url.AbsoluteUri.StartsWith(m_xxxxx.m_strRedirect_uri))
{
m_xxxxx.set(e.Url.AbsoluteUri);
DialogResult = DialogResult.OK;
Close();
}
}
private void GrantForm_FormClosed(object sender, FormClosedEventArgs e)
{
webBrowser.Dispose();
}
GrantForm grantForm = new GrantForm();
if (grantForm.ShowDialog() == DialogResult.OK)
{
threadClass.m_xxxxx = grantForm.m_xxxxx;
}
但是不管用Show还是ShowDialog,一个Form都需要被Dispose掉。最简单的办法是加一个using,这样超出作用域的时候grantForm的窗口被自动销毁和Dispose。
using(GrantForm grantForm = new GrantForm())
{
grantForm.ShowDialog();
......
}