【发布时间】:2013-12-23 06:19:56
【问题描述】:
我使用 win-forms 制作了这个简单的网络浏览器
namespace WebBrowser
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
// Load the user's home page.
webBrowser1.GoHome();
}
private void button1_Click(object sender, EventArgs e)
{
webBrowser1.Navigate(textBox1.Text);
textBox1.Text = webBrowser1.Url.ToString();
}
private void Navigate(String address)
{
if (String.IsNullOrEmpty(address)) return;
if (address.Equals("about:blank")) return;
if (!address.StartsWith("http://") &&
!address.StartsWith("https://"))
{
address = "http://" + address;
}
try
{
webBrowser1.Navigate(new Uri(address));
}
catch (System.UriFormatException)
{
return;
}
}
private void backButton_Click(object sender, EventArgs e)
{
if (webBrowser1.CanGoBack)
{
webBrowser1.GoBack();
}
else
backButton.Enabled = false;
}
private void forwardButton_Click(object sender, EventArgs e)
{
if (webBrowser1.CanGoForward)
{
webBrowser1.GoForward();
}
else
forwardButton.Enabled = false;
}
private void button2_Click(object sender, EventArgs e)
{
webBrowser1.GoHome();
}
private void button3_Click(object sender, EventArgs e)
{
webBrowser1.Stop();
}
private void button4_Click(object sender, EventArgs e)
{
if (!webBrowser1.Url.Equals("about:blank"))
{
webBrowser1.Refresh();
}
}
}
}
` ,除了后退和前进按钮外,一切都完美无缺。我已经为两者添加了事件处理程序。请指出错误。我使用的是 Visual Studio 2010 Ultimate。
【问题讨论】:
-
不工作意味着,它没有击中事件处理程序或其他什么?
-
使用您的代码,我前进和后退都可以正常工作。在处理程序中为前进和后退设置一个断点。他们会被击中吗?
-
非常感谢。我发现 ide 没有将它们与事件处理程序链接起来,因为我为同一个按钮创建了 2 个事件,后来删除了原来的事件。所以我添加了事件处理程序手动在“form1.designer.cs”中。
标签: c# winforms visual-studio-2010