标题:求教一个WebBrowser控件的使用问题
只看楼主
btt6
Rank: 2
等 级:论坛游民
帖 子:46
专家分:10
注 册:2016-8-13
结帖率:47.83%
已结贴  问题点数:5 回复次数:2 
求教一个WebBrowser控件的使用问题
用WebBrowser 打开一个页面后,如何让右边的滚动条自动向下滚动,类似于自动下翻页面的效果,直到页面底部
搜索更多相关主题的帖子: WebBrowser 如何 
2016-11-14 15:19
xzlxzlxzl
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:湖北
等 级:贵宾
威 望:125
帖 子:1091
专家分:5825
注 册:2014-5-3
得分:5 
这题我帮你做了吧,做之前提醒:论坛旨在学习、共享、解惑,任何以索要报酬要求私信的请题主斟酌
做之前说说我怎么做的:其实对WebBrowser控件我也不熟,甚至连加载网页都不知道,我做出本题的步骤如下:
1、百度“WebBrowser控件属性”,得知Navigate加载主页,获知DocumentComplete事件在网页加载完成后触发,有这两点知识就行了
2、百度“vb如何控制WebBrowser滚动条”,在csdn论坛里找到一篇文章,里面有详细代码,我知道用WebBrowser1.Document.ParentWindow.Scroll 左右滚参数,上下滚参数,其他代码我也看懂了,复制下来备用
3、自动滚就是让计算机自动执行操作,计时器这时可派上用场,这个知识我有,不用百度,开始写代码如下(什么建立工程、安排控件等不一一赘述):
程序代码:
Private Sub Form_Load()
  Timer1.Enabled = False
  WebBrowser1.Navigate "http://bbs.bccn.net/forum-6-1.html"
End Sub

Private Sub Timer1_Timer()
  Static p As Integer    '建立一个静态变量存储当前滚动位置,什么是静态变量及作用请百度
  If p < 3000 Then
    WebBrowser1.Document.ParentWindow.Scroll 0, p
    p = p + 1
  Else
    Timer1.Enabled = False  '估计到了底部,停止滚动,实际上可用Document的其他方法获得精确底部位置
  End If
End Sub

Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
  '主页加载完成,设置计时器准备滚动
  Timer1.Interval = 10
  Timer1.Enabled = True
End Sub



工程文件:
控制web滚动条.rar (2.06 KB)
2016-11-15 19:12
xss_wl
Rank: 5Rank: 5
等 级:禁止访问
威 望:3
帖 子:100
专家分:315
注 册:2016-10-15
得分:0 
像这种百度一下就能很方便查到解决方法的问题,楼主自己应该充分发挥这些搜索网站的功能,让它们能够给自己的学习和工作带来方便。另外对你这个问题,我再提两个思路给你参考。第一,既然你要求能够滚动页面,那一般情况下肯定页面显示时是有滚动条的。如果用代码向WebBrowser模拟出滚动条向下滚动事件,则完全可以实现自动向下滚动页面的效果。第二,我们知道,当我们在页面中用手滚动鼠标上的滚轮时,页面也会跟随着进行滚动,所以,你也可以用代码模拟出鼠标滚轮事件,同样实现页面自动滚动的效果。这两种方法,无论你掌握了哪一种,都可以通用于其它任何场合,而不单单是只能用在WebBrowser上。
限于时间,具体细节不再叙述,已经给了你思路,接下来就是动手设计的问题。只要你充分发挥搜索网站的功能,以上所述两种方法并不难实现。如果有必要,可以继续跟贴交流。
2016-11-16 11:25



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-471117-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.565233 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved