Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在C#.NET2.0中,是否有任何方法可以访问WebBrowser控件的URL历史记录?_C#_.net_.net 2.0_Webbrowser Control - Fatal编程技术网

在C#.NET2.0中,是否有任何方法可以访问WebBrowser控件的URL历史记录?

在C#.NET2.0中,是否有任何方法可以访问WebBrowser控件的URL历史记录?,c#,.net,.net-2.0,webbrowser-control,C#,.net,.net 2.0,Webbrowser Control,好吧,题目差不多就是整个问题。我希望能够清除每个导航上的WebBrowser控件历史记录,以防止我的用户返回上一页。我已经禁用了右键单击菜单,这样他们就无法访问“后退”选项,但他们仍然可以单击Backspace返回历史。当用户合法地使用backspace键删除web表单中的字符时,阻塞backspace键pres会导致问题,因此我认为每次导航时清除历史记录将完全解决问题 编辑:或者,如果有一种方法可以检测退格键当前是否按下,我可以在导航时在处理程序中添加一个检查,如果该键按下,则取消事件。太糟糕

好吧,题目差不多就是整个问题。我希望能够清除每个导航上的WebBrowser控件历史记录,以防止我的用户返回上一页。我已经禁用了右键单击菜单,这样他们就无法访问“后退”选项,但他们仍然可以单击Backspace返回历史。当用户合法地使用backspace键删除web表单中的字符时,阻塞backspace键pres会导致问题,因此我认为每次导航时清除历史记录将完全解决问题


编辑:或者,如果有一种方法可以检测退格键当前是否按下,我可以在导航时在处理程序中添加一个检查,如果该键按下,则取消事件。太糟糕了。NET 2.0没有键盘类:(

使用事件取消不允许的页面导航可能更容易、更可靠。

使用事件取消不允许的页面导航可能更容易、更可靠。

在我的特定情况下,这不起作用,因为我想允许代码导航到特定页面,我只是不想用户可以通过“返回”导航到该页面在历史记录中。如果我阻止URL,则我无法再在代码中导航到它。除非我能找到一种方法来检测当我在导航手柄中时是否当前按下了Backspace按钮,否则您可以轻松跟踪由代码启动的页面导航,并且只允许这些导航。您正试图通过阻止用户来阻止页面导航输入,而不是使用专门为此目的设计的事件!您永远无法确定是否已阻止所有用户输入机制。上下文菜单和退格是不够的。Alt+左箭头也可以工作。您缺少哪些其他用户输入?如果Microsoft向浏览器控件添加新的输入,该怎么办?导航事件是设计的这很容易检测到导航是你的还是用户的…只要在调用Navigate时设置一个标志,并在Navigated中清除它。啊,设置一个标志听起来似乎可以完美地解决我的问题。现在我感到尴尬的是,我一开始没有想到这一点!在我的特定情况下,这不会起作用,因为我想允许我的同事de要导航到特定页面,我只是不希望用户通过“返回”来导航到该页面在历史记录中。如果我阻止URL,则我无法再在代码中导航到它。除非我能找到一种方法来检测当我在导航手柄中时是否当前按下了Backspace按钮,否则您可以轻松跟踪由代码启动的页面导航,并且只允许这些导航。您正试图通过阻止用户来阻止页面导航输入,而不是使用专门为此目的设计的事件!您永远无法确定是否已阻止所有用户输入机制。上下文菜单和退格是不够的。Alt+左箭头也可以工作。您缺少哪些其他用户输入?如果Microsoft向浏览器控件添加新的输入,该怎么办?导航事件是设计的这很容易检测到导航是你的还是用户的…只要在调用Navigate时设置一个标志,然后在Navigated中清除它。啊,设置一个标志听起来似乎可以完美地解决我的问题。现在我感到很尴尬,因为我一开始没有想到这一点!