我基本上学习了C#并使自己变成了一个简单的网络浏览器并添加了#34;返回"和"前进"用于浏览我打开的网站的按钮。嗯,问题是,如果没有更多的网站可以恢复,我无法弄清楚如何禁用它们。
我尝试将这个简单的代码放入我的表单构造函数中,但似乎它没有任何影响......
if (webBrowser1.CanGoBack == false)
{
backButton.Enabled = false;
}
else
{
backButton.Enabled = true;
}
答案 0 :(得分:0)
构造函数中的代码只会被调用一次。因此,如果将代码放在代码可以多次调用代码的位置,那会更好。可能会触发您在表单控件上的事件或任何自定义按钮。
答案 1 :(得分:0)
查看您的代码我会说每次浏览器导航时都需要执行代码,而不是在初始化表单时执行,MSDN文章确实显示了更好的设置方法并提供了一些关于cangoback方法的解释。
答案 2 :(得分:0)
因此,不仅要告诉程序要做什么,还要做什么时候做。在构造函数中使用启用/禁用逻辑说“当表单加载时,请检查并启用/禁用它。”
但是一旦你传递了构造函数,没有什么能告诉它什么时候改变它的启用/禁用状态。
尝试使用Event Handlers让您的程序知道“嘿,我需要更新这些按钮的启用状态”
答案 3 :(得分:0)
非常感谢你的帮助! 把我的代码放到一个事件中就可以了......
private void webBrowser1_Navigated(object sender, WebBrowserNavigatedEventArgs e)
{
progressBar1.Value = 0;
comboBox1.Text = webBrowser1.Url.ToString();
if (webBrowser1.CanGoBack == false)
{
backButton.Enabled = false;
}
else
{
backButton.Enabled = true;
}
if (webBrowser1.CanGoForward == false)
{
forwardButton.Enabled = false;
}
else
{
forwardButton.Enabled = true;
}
}