【问题标题】:Assigning a webbrowser control object to another webbrowser control将 webbrowser 控件对象分配给另一个 webbrowser 控件
【发布时间】:2014-06-12 12:23:54
【问题描述】:

我在 Windows 窗体应用程序中有两个 webbrowser 控件。我已经导航到 webbrowser control1 中的一个页面。现在我需要将此 webbrowser1 分配给 webbrowser2,并且我需要在这两个 webbrowser 控件中以不同的方式工作。

但是我试过的结果,

webbrowser2 = webbrowser1;

当我这样做时,我在 webbrowser2 中所做的任何事情都会在 webbrowser1 中受到影响。是否可以将 webbrowser 对象分配给其他对象而不影响第一个并继续在第二个 webbrowser 控件中工作。

编辑 - 我的工作流程

我正在做(自动化工作),例如登录网络帐户(例如 Gmail)并在登录成功后执行某些操作。因此,此时我必须将登录的 webbrowser 对象复制到其他对象,以继续进行一些自动化工作,而不会影响第一个对象。如果我只将 url 复制到另一个浏览器,我必须再次进行登录自动化工作。

【问题讨论】:

  • webrowser2.Url = webbrowser1.Url;怎么样
  • @rene 我正在做(自动化工作),例如登录网络帐户(例如 Gmail)并在登录成功后执行某些操作。因此,此时我必须将登录的 webbrowser 对象复制到其他对象,以继续进行一些自动化工作,而不会影响第一个对象。如果我只将 url 复制到另一个浏览器,我必须再次进行登录自动化工作。

标签: c# .net-3.5 webbrowser-control


【解决方案1】:

当你编写这段代码时:

webbrowser2 = webbrowser1;

您正在向webbrowser2 提供对webbrowser1 的引用。这意味着它们确实指向同一个对象。因此,您会认为修改一个会影响另一个。

因此,您的问题的基本答案是:不,您不能将一个分配给另一个并保持它们独立。@rene 的建议(仅分配 URL 值)如果您只想它们显示相同的页面(同时保留单独的实例)。

根据您要执行的操作,还有其他方法,但我们需要更多信息来帮助解决此问题。

【讨论】:

  • 我正在做(自动化工作),例如登录网络帐户(例如 Gmail)并在登录成功后执行某些操作。因此,此时我必须将登录的 webbrowser 对象复制到其他对象,以继续进行一些自动化工作,而不会影响第一个对象。如果我只将 url 复制到另一个浏览器,我必须再次进行登录自动化工作。
  • @Narayan,我认为你做不到(见stackoverflow.com/questions/794117/…)。您不能创建一个新的网络浏览器并重新登录吗?您可能需要稍微修改一下您的要求。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-19
  • 1970-01-01
  • 2012-01-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多