文档库 最新最全的文档下载
当前位置:文档库 › WebBrowser控件最详细使用说明

WebBrowser控件最详细使用说明

WebBrowser控件最详细使用说明
WebBrowser控件最详细使用说明

WebBrowser控件最详细使用说明

方法说明

GoBack 相当于IE的“后退”按钮,使你在当前历史列表中后退一项GoForward 相当于IE的“前进”按钮,使你在当前历史列表中前进一项GoHome 相当于IE的“主页”按钮,连接用户默认的主页

GoSearch 相当于IE的“搜索”按钮,连接用户默认的搜索页面

Navigate 连接到指定的URL

Refresh 刷新当前页面

Refresh2 同上,只是可以指定刷新级别,所指定的刷新级别的值来自RefreshConstants枚举表,

该表定义在ExDisp.h中,可以指定的不同值如下:

REFRESH_NORMAL 执行简单的刷新,不将HTTP pragma: no-cache头发送给服务器

REFRESH_IFEXPIRED 只有在网页过期后才进行简单的刷新

REFRESH_CONTINUE 仅作内部使用。在MSDN里写着DO NOT USE! 请勿使用REFRESH_COMPLETELY 将包含pragma: no-cache头的请求发送到服务器

Stop 相当于IE的“停止”按钮,停止当前页面及其内容的载入

属性说明

Application 如果该对象有效,则返回掌管WebBrowser控件的应用程序实现的自动化对象(IDispatch)。如果在宿主对象中自动化对象无效,这个程序将返回WebBrowser

控件的自动化对象

Parent 返回WebBrowser控件的父自动化对象,通常是一个容器,例如是宿主或IE窗口

Container 返回WebBrowser控件容器的自动化对象。通常该值与Parent属性返回的值相同

Document 为活动的文档返回自动化对象。如果HTML当前正被显示在WebBrowser中,则

Document属性提供对DHTML Object Model的访问途径

TopLevelContainer 返回一个Boolean值,表明IE是否是WebBrowser控件顶层容器,是就返回true

Type 返回已被WebBrowser控件加载的对象的类型。例如:如果加载.doc文件,就会返

回Microsoft Word Document

Left 返回或设置WebBrowser控件窗口的内部左边与容器窗口左边的距离Top 返回或设置WebBrowser控件窗口的内部左边与容器窗口顶边的距离Width 返回或设置WebBrowser窗口的宽度,以像素为单位

Height 返回或设置WebBrowser窗口的高度,以像素为单位

LocationName 返回一个字符串,该字符串包含着WebBrowser当前显示的资源的名称,如果资源

是网页就是网页的标题;如果是文件或文件夹,就是文件或文件夹的名称LocationURL 返回WebBrowser当前正在显示的资源的URL

Busy 返回一个Boolean值,说明WebBrowser当前是否正在加载URL,如果返

回true

就可以使用stop方法来撤销正在执行的访问操作

WebBrowser 的事件

Private Events Description

BeforeNavigate2 导航发生前激发,刷新时不激发

CommandStateChange 当命令的激活状态改变时激发。它表明何时激活或关闭Back和Forward

菜单项或按钮

DocumentComplete 当整个文档完成是激发,刷新页面不激发

DownloadBegin 当某项下载操作已经开始后激发,刷新也可激发此事件DownloadComplete 当某项下载操作已经完成后激发,刷新也可激发此事件NavigateComplete2 导航完成后激发,刷新时不激发

NewWindow2 在创建新窗口以前激发

OnFullScreen 当FullScreen属性改变时激发。该事件采用VARIENT_BOOL的一个输

入参数来指示IE是全屏显示方式(VARIENT_TRUE)还是普通显示方式(VARIENT_FALSE)

OnMenuBar 改变MenuBar的属性时激发,标示参数是VARIENT_BOOL类型的。VARIANT_TRUE是可见,VARIANT_ FALSE是隐藏

OnQuit 无论是用户关闭浏览器还是开发者调用Quit方法,当IE退出时就会激发

OnStatusBar 与OnMenuBar调用方法相同,标示状态栏是否可见。

OnToolBar 调用方法同上,标示工具栏是否可见。

OnVisible 控制窗口的可见或隐藏,也使用一个VARIENT_BOOL类型的参数StatusTextChange 如果要改变状态栏中的文字,这个事件就会被激发,但它并不理会程序是否有状态栏

TitleChange Title有效或改变时激发

一些使用技巧

1.禁止右键

看到很多关于WebBrowser控件禁止右键的提问,回复的方法很多,其中有提到使用微软提供的Webbrowser扩展COM服务器对象(WBCustomizer.dll),但是该方法在我们想使用Webbrowser编辑网页

(Webbrowser1.Document.execCommand "editMode")的时候有很多弊端,比如不能显示选中的文本等。另有些方法也就不用一一列举了。

这儿我想提到的是关于MSHTML.HTMLDocument

引用Microsoft HTML OBject Library

Rem #窗体代码#

Dim WithEvents M_Dom As MSHTML.HTMLDocument

Private Function M_Dom_oncontextmenu() As Boolean

M_Dom_oncontextmenu = False

End Function

Private Sub Webbrowser1_DownloadComplete()

Set M_Dom = Webbrowser1.Document

End Sub

Rem 好了,右键菜单没有了

===================================================================== ====

2、控件调用和获得收藏夹里面

基本上用 specialfolder(6 ) 就可以得到收藏夹的路径, 然后你可以用dir去循环读入每个目录,然后dir里面的file, file的名字就是你要的收藏的名字, 路径可以自己根据从上面得到的路径去得到.

如果你不用dir也可以用vb的dir控件.

Private Type SHITEMID

cb As Long

abID As Byte

End Type

Public Type ITEMIDLIST

mkid As SHITEMID

End Type

Public Function SpecialFolder(ByRef CSIDL As Long) As String

'locate the favorites folder

Dim R As Long

Dim sPath As String

Dim IDL As ITEMIDLIST

Const NOERROR = 0

Const MAX_LENGTH = 260

R = SHGetSpecialFolderLocation(MDIMain.hwnd, CSIDL, IDL)

If R = NOERROR Then

sPath = Space$(MAX_LENGTH)

R = SHGetPathFromIDList(ByVal IDL.mkid.cb, ByVal sPath)

If R Then

SpecialFolder = Left$(sPath, InStr(sPath, vbNullChar) - 1) End If

End If

End Function

=============================================================

3、全屏

是的,webbrowser本生是一个控件, 你要它全屏,就是要它所在的窗体全屏, 可以用setwindowlong取消窗体的 title, 用Call

ShowWindow(FindWindow("Shell_traywnd", ""), 0) 隐藏tray,就是下边那个包含开始那一行. 用Call ShowWindow(FindWindow("Shell_traywnd", ""), 9)

恢复. 够详细了吧.

然后在form1.windowstate = 2 就可以了.

===================================================================== ===========

4、选择网页上的内容。

Private Sub Command1_Click()

'请先选中一些内容

Me.WebBrowser1.ExecWB OLECMDID_COPY, OLECMDEXECOPT_DODEFAULT MsgBox Clipboard.GetText

End Sub

===================================================================== =====

5、用IE来下载文件

Private Declare Function DoFileDownload Lib "shdocvw.dll" (ByVal lpszFile As String) As Long

Private Sub Command1_Click()

Dim sDownload As String

sDownload = StrConv(Text1.Text, vbUnicode)

Call DoFileDownload(sDownload)

End Sub

Private Sub Form_Load()

Text1.Text = "https://www.wendangku.net/doc/b53504211.html,/~softdaily/fo-ag162.zip"

Form1.Caption = "Audiograbber 1.62 Full"

Text2.Text = "https://www.wendangku.net/doc/b53504211.html,/audiograbber/demos/cr-ag161.zip"

End Sub

===================================================================== ==

6、我要动态加载和删除WebBrowser控件应该怎么做?

Private Sub Command1_Click()

Form1.Controls.Add "shell.explorer.2", "NewWeb", Form1

With Form1!NewWeb

.Visible = True

.Width = 10000

.Height = 10000

.Left = 0

.Top = 0

.Navigate2 "https://www.wendangku.net/doc/b53504211.html,"

End With

End Sub

Private Sub Command2_Click()

Controls.Remove Form1!newweb

End Sub

Form1.Controls.Add "shell.explorer.2", newweb(newweb.Count), Form1

With Form1!newweb(newweb.Count)

.Visible = True

.Width = 1000

.Height = 1000

.Left = newweb(newweb.Count - 1).Left + newweb(newweb.Count - 1).Width

.Top = 0

'.Navigate2 "https://www.wendangku.net/doc/b53504211.html,"

End With

为什么他说我

Form1.Controls.Add "shell.explorer.2", newweb(newweb.Count), Form1

这一行错误13 类型不匹配?

ps:我在form中已经有了一个newweb(0)控件

先为一个WebBrowser

Dim i As Integer

Private Sub AddWeb_Click()

For i = 1 To 10

Load NewWeb(i)

NewWeb(i).Top = i * 100

NewWeb(i).Left = i * 100

NewWeb(i).Visible = True

Next i

End Sub

Private Sub DelWeb_Click()

For i = 1 To 10

Unload NewWeb(i)

Next i

End Sub

=======================================================

7、一个把页面保存为MHT(即MHTML)文件

将 pcwak(书剑狂生[MS MVP]) 大侠提供的资料贴出来,以供大家参考:

我终于找到一个把页面保存为MHT(即MHTML)文件的方法了!

首先,在工程中必须要引用一个库:

Library CDO

D:\WINNT\System32\cdosys.dll

Microsoft CDO for Windows 2000 Library

其次,需要Stream对应的接口的支持,如果你一时找不到就使用支持这个的较

新的ADO就行了,如

Library ADODB

D:\Program Files\Common Files\system\ado\msado15.dll

Microsoft ActiveX Data Objects 2.5 Library

代码如下,十分简单(同时由于流的特点,显示在实际应用中没必要象本例中那样把文件保存到磁盘上就可直接转换为字符串或字节数组什么的处理的。

另,对于Microsoft CDO for Windows 2000 Library这个库,在WIN98中要怎么使用还没试过,感兴趣的朋友可以试试并跟帖,以丰富完善其内容:) Private Sub Command1_Click()

' Reference to Microsoft ActiveX Data Objects 2.5 Library

' Reference to Microsoft CDO for Windows 2000 Library

Dim iMsg As New CDO.Message

Dim iConf As New CDO.Configuration

Dim objStream As ADODB.Stream

With iMsg

.CreateMHTMLBody "https://www.wendangku.net/doc/b53504211.html,/";, , _

"domain\username", _

"password"

Set objStream = .GetStream

Call objStream.SaveToFile("f:\test.mht", adSaveCreateOverWrite)

End With

End Sub

2、

'首先加入对ADODB和CDO(Microsoft CDO for Windows 2000 Library,对应文件名为CDOSYS.dll)的引用

Private Sub Command1_Click()

Dim message As New CDO.message

Dim Outstream As ADODB.Stream

On Error GoTo myerr1

Call message.CreateMHTMLBody("https://www.wendangku.net/doc/b53504211.html,",

CDO.CdoMHTMLFlags.cdoSuppressNone, "", "")

Set Outstream = message.GetStream

Call Outstream.SaveToFile("c:\test.mht",

ADODB.SaveOptionsEnum.adSaveCreateOverWrite)

MsgBox "完成"

Exit Sub

myerr1:

Set message = Nothing

Set Outstream = Nothing

End Sub

=======================================================

8、在WebBrowser控件调用收藏夹和在收藏夹里添加收藏

Option Explicit

Private Sub Command1_Click()

Dim ObjSUH As New ShellUIHelper

ObjSUH.AddFavorite "https://www.wendangku.net/doc/b53504211.html,/index.html", "CSDN" Set ObjSUH = Nothing

End Sub

=========================================================

9、如何使网页不出现滚动条:

Private Sub mnuScroll1_Click()

'注意:必须在网页完全显示之后才可以运行

WebBrowser1.Document.body.Scroll = "no" '不显示滚动条的办法End Sub

Private Sub mnuScroll2_Click()

'注意:必须在网页完全显示之后才可以运行

WebBrowser1.Document.body.Scroll = "Auto" '显示滚动条的办法End Sub

============================================================== 10、如何获得网页中被选中部分的HTML:

Private Sub Command1_Click()

Dim objSelection

Dim objTxtRange

Set objSelection = WebBrowser1.Document.selection

If Not (objSelection Is Nothing) Then

Set objTxtRange = objSelection.createRange

If Not (objTxtRange Is Nothing) Then

Debug.Print objTxtRange.htmlText

Set objTxtRange = Nothing

End If

Set objSelection = Nothing

End If

End Sub

Private Sub Form_Load()

WebBrowser1.Navigate "https://www.wendangku.net/doc/b53504211.html,/index.html"

End Sub

11、页面滚动:

Private Sub Command2_Click()

WebBrowser1.Document.parentwindow.scrollby 0, 30

End Sub

Private Sub Form_Load()

WebBrowser1.Navigate "https://www.wendangku.net/doc/b53504211.html,/index.html"

End Sub

点击Command2就可以使当前页面向下滚动30像素

12、判断页面是否可以前进后退

Private Sub Command1_Click()

WebBrowser1.GoForward

End Sub

Private Sub Command2_Click()

WebBrowser1.GoBack

End Sub

Private Sub Form_Load()

WebBrowser1.Navigate "https://www.wendangku.net/doc/b53504211.html,/index.html"

End Sub

Private Sub WebBrowser1_CommandStateChange(ByVal Command As Long, ByVal Enable As Boolean)

If (Command = CSC_NAVIGATEBACK) Then

Command2.Enabled = Enable

End If

If (Command = CSC_NAVIGATEFORWARD) Then

Command1.Enabled = Enable

End If

End Sub

上面的command1是前进按钮,command2是后退按钮

WebBrowser控件使用详解

WebBrowser控件使用详解

Private Events Description BeforeNavigate2 导航发生前激发,刷新时不激发CommandStateChange 当命令的激活状态改变时激发。它表明何时 激活或关闭Back和Forward 菜单项或按钮 DocumentComplete 当整个文档完成是激发,刷新页面不激发DownloadBegin 当某项下载操作已经开始后激发,刷新也可 激发此事件 DownloadComplete当某项下载操作已经完成后激发,刷新也可 激发此事件 NavigateComplete2 导航完成后激发,刷新时不激发NewWindow2 在创建新窗口以前激发 OnFullScreen 当FullScreen属性改变时激发。该事件采 用VARIENT_BOOL的一个输 入参数来指示IE是全屏显示方式 (VARIENT_TRUE)还是普通显示方式 (VARIENT_FALSE) OnMenuBar 改变MenuBar的属性时激发,标示参数是 VARIENT_BOOL类型的。 VARIANT_TRUE是可见, VARIANT_ FALSE是隐藏 OnQuit 无论是用户关闭浏览器还是开发者调用

Quit方法,当IE退出时就会激发OnStatusBar 与OnMenuBar调用方法相同,标示状态 栏是否可见。 OnToolBar 调用方法同上,标示工具栏是否可见。OnVisible 控制窗口的可见或隐藏,也使用一个 VARIENT_BOOL类型的参数StatusTextChange 如果要改变状态栏中的文字,这个事件就会 被激发,但它并不理会程序是否有状态栏TitleChange Title有效或改变时激发 一些使用技巧 1.禁止右键 看到很多关于WebBrowser控件禁止右键的提问,回复的方法很多,其中有提到使用微软提供的Webbrowser扩展COM服务器对象(WBCustomizer.dll),但是该方法在我们想使用Webbrowser编辑网页 (Webbrowser1.Document.execCommand "editMode")的时候有很多弊端,比如不能显示选中的文本等。另有些方法也就不用一一列举了。 这儿我想提到的是关于MSHTML.HTMLDocument 引用Microsoft HTML OBject Library Rem #窗体代码# Dim WithEvents M_Dom As MSHTML.HTMLDocument Private Function M_Dom_oncontextmenu() As Boolean M_Dom_oncontextmenu = False End Function Private Sub Webbrowser1_DownloadComplete() Set M_Dom = Webbrowser1.Document End Sub Rem 好了,右键菜单没有了 ===================================================================== ==== 2、控件调用和获得收藏夹里面 基本上用 specialfolder(6 ) 就可以得到收藏夹的路径, 然后你可以用dir去循环读入每个目录,然后dir里面的file, file的名字就是你要的收藏的名字, 路径可以自己根据从上面得到的路径去得到. 如果你不用dir也可以用vb的dir控件.

C# WinForm自定义控件开发实例

C# WinForm自定义控件开发实例 最近做一个图象的采集,需要一个图形的选择控件,但是在.net下没有类似vb中的shape控件,所以考虑了自己写一个控件。下面我将从头创建控件,这个控件主要是用来选择图形的Rectangle,有一下几个属性Color BorderColor:边框颜色,Color BackColor:背景颜色,bool ReSizeble:是否可移动,Rectangle SelectRectangle:选择区域。 打开vs2003(我用的这个版本),新建一个c#控件库,ok,拷贝如下代码到你的代码里。using System;using System.Collections;using https://www.wendangku.net/doc/b53504211.html,ponentModel;using System.Drawing;using System.Data;using System.Windows.Forms;namespace WindowsExtendedControls{ /// /// 控件/// public class ShapeEx : System.Windows.Forms.Control { /// /// 必需的设计器变量。/// /// private Color _BorderColor=new Color(); private Color _BackColor=new Color(); private bool _ReSizeble; private Point _SelfLocation=new Point(); private Point _MouseLocation=new Point(); private int _SelfWidth; private int _SelfHeight; private int _SelectSelctedIndex;//0-8,0:SizeAll private Rectangle

各种控件的详细使用介绍

各种控件的详细使用介绍:常用属性,常用事件,常用的方法 控件的分类(控件根据所属的基类,进行划分) 根据是否能容纳其他控件,可以分为: 容器类控件(包括:表单集,表单,表格,表格列,页框,页面,命令按钮组,选项按钮组,工具栏,容器控件) 非容器类控件(包括:标签,文本框,编辑框,命令按钮,复选框,列表框,组合框,微调框,形状,计时器,线条,图像) 另外一种划分方法,是根据控件和数据环境中数据源的关系进行划分,控件分为:绑定型控件是指内容可以和与数据环境后端的表、视图或查询中的字段和内存变量相关联的控件。在该控件中输入、修改或选择的值将保存在数据源中,而数据源中值的改变,也将改变控件的值。(复选框,文本框,编辑框,列表框,组合框,表格,选项按钮组,微调框,activex控件) 非绑定型控件是指其内容不与后端的表、视图和查询中的字段或内容相关联的控件。(命令按钮,命令按钮组,线条,标签,计时器,形状,图像) 一、标签控件(Label)——非容器类控件,非数据绑定控件 用以显示文本,显示提示信息。标签上的显示文本由caption属性指定。 其中的文本在表单运行时不能被用户直接修改。 常用属性: 常用事件:mousemove 鼠标移动事件mousedown 鼠标按下左键事件 Click 单击事件mouseup 释放鼠标左键事件

【范例】参考实验作业HomeWork7-1-1.scx。 二、文本框与编辑框——非容器类控件,数据绑定控件 文本框——用以显示或编辑表中的非备注型字段的数据。 编辑框——用途与文本框相似,用以显示或编辑长字段或备注型字段的数据。 两者均为数据绑定控件,非容器类控件 文本框的常用属性: ?ControlSource 指定与文本框绑定的数据源 ?Value 指定文本框的当前选定的值 例如:value=0 表示文本框中的数据设置为数值型,不能输入字母或汉字?PasswordChar 用设定的字符来显示用户输入的值,而实际输入保存在value属性中。 例如:PasswordChar=*或者其他的符号。文本框中显示为*或其他符号

(完整版)MSFlexGrid控件属性及使用方法整理

MSFlexGrid控件属性及使用方法整理 ================================================= MSFlexGrid总行数和总列数的定义: MSFlexGrid1.Rows = 5 '规定表格的总行数为5行 MSFlexGrid1.Cols = 2 '规定表格的总列数为2行 MSFlexGrid某一单元格的文本内容 MSFlexGrid1.TextMatrix(3, 0) ="网站地址" '定义第3行的左边表头文本内容为:“网站地址”MSFlexGrid1.TextMatrix(3, 2) ="https://www.wendangku.net/doc/b53504211.html, " 定义第3行第2列的文本内容为:“https://www.wendangku.net/doc/b53504211.html,” 右键选中MSFlexGrid的 Private Sub MSFlexGrid1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single) If Button = vbRightButton Then MSFlexGrid1.Row = y / MSFlexGrid1.RowHeight(0) - 0.5 MSFlexGrid1.RowSel = MSFlexGrid1.Row '右键选种当前行---备用u3u3: 'MSFlexGrid1.Col = 0 'MSFlexGrid1.ColSel = MSFlexGrid1.Cols - 1 '右键选种当前单元格---备用u3u3: 'MSFlexGrid1.Col = x / MSFlexGrid1.ColWidth(0) - 0.5 'MSFlexGrid1.Col = MSFlexGrid1.Col 'Text1.Text = MSFlexGrid1.Text End If End Sub

C# WinForm开发系列 - WebBrowser

C# WinForm开发系列 - WebBrowser 2009-12-14 14:19:21 标签:C#-WebBrowser休闲WinForm开发系列 介绍Vs 2005中带的WebBrowser控件使用以及一些疑难问题的解决方法, 如如何正确显示中文, 屏蔽右键菜单, 设置代理等; 收集的文章中有可能还带了一些https://www.wendangku.net/doc/b53504211.html,开发使用微软的WebBrowser进行页面打印方面文章. 01. vs2005中的WebBrowser控件的简单应用 02. WebBrowser控件的简单应用2 03. WebBrowser控件应用:弹出新窗体和关闭窗口 04. WebBrowser控件应用:播放PPT文件 05. WebBrowser控件使用技巧分享 06. .Net 2.0实例学习:WebBrowser页面与WinForm交互技巧 07. WebBrowser脚本错误的完美解决方案 08. Winform: use the WebBrowser to display XML with xslt, xml, xslt 转 html 字符串 09. 使用Vs2005打造简单分页浏览器(1)原创 10. 利用WebBrowser彻底解决Web打印问题 11. WebBrowser 12. WebBrowser控件使用详解 13. webBrowser.execWB的完整说明 14. C#中WebBrowser的使用 15. C#中实现WebBrowser控件的HTML源代码读写 16. Webbrowser控件史上最强技巧全集 17. 利用WebBrowser实现Web打印的分析 18. 利用webBrowser获取框架内Html页面内容

DELPHI 中WEBBROWSER控件详解实例

Delphi中WebBrowser控件详解实例 2008-10-18下午06:58 很久都没有原创了,前几天帮朋友做了个网址发布程序,主要应用到了WebBrowser控件。今天主要给大家演示一下过程,让大家学习一下Delphi工具。 WebBrowser功能: 1。自动加载网页 2。去除WebBrowser滚动条 3。WebBrowser自身打开页面 4。禁止右键 1。首先,新建一个FROM窗体: 2。加入一个WEBBROWSER控件

3。调整后如下: 4.这样一个webbrowser就完成了,下一步我们来让程序打开后自动加载一个网页。 核心代码:WebBrowser1.Navigate('https://www.wendangku.net/doc/b53504211.html,'); 双击窗体灰色处,对窗体进行初始化,在代码窗口中输入(Begin与End间输入核心代码): procedure TForm1.FormCreate(Sender:TObject); begin WebBrowser1.Navigate('https://www.wendangku.net/doc/b53504211.html,');//窗体初始化完成WEBBROWSER加载一个网页end; 5。下面我们来实现禁止WEBBROWSER控件的滚动条功能:

核心代码:WebBrowser1.oleobject.Document.body.Scroll:=‘no’; 利用这个代码去掉滚动条的前提是webbrowser中必须有打开的网页,也就是在网页加载完完毕后再去掉滚动条。所以首先要判断页面是否加载完毕,如果加载完毕,就执行上面的语句 去掉滚动条。这时就要引入一个按扭控件来触发程序 加入SPEEDBUTTEN 调整形后:

VB WEBBROWSER控件详解

vb+Webbrowser控件详解 2007-12-2218:22 1、获得浏览器信息: Private Sub Command1_Click() WebBrowser1.Navigate"https://www.wendangku.net/doc/b53504211.html," End Sub Private Sub Command2_Click() Dim oWindow Dim oNav Set oWindow=WebBrowser1.Document.parentWindow Set oNav=oWindow.navigator Debug.Print https://www.wendangku.net/doc/b53504211.html,erAgent Set oWindow=Nothing Set oNav=Nothing End Sub 点击Command1浏览网页,点击Command2在立即窗口中输出浏览器信息。 2、弹出Webbrowser消息窗口 Dim oWindow Set oWindow=WebBrowser1.Document.parentWindow oWindow.confirm"abcd" VB调用webbrowser技巧集2 向Webbrowser中写入HTML内容的几种方法 首先在Form_Load中加入 WebBrowser1.Navigate"about:blank" 确保Webbrowser1可用 方法1: Dim s As String Dim stream As IStream s="" s=s+"" s=s+"" s=s+"

hello world " s=s+"" s=s+" WebBrowser1.Document.Write s 方法2: Dim o Set o=WebBrowser1.Document.selection.createrange Debug.Print o If(Not o Is Nothing)Then o.pasteHTML"哈哈" Set o=Nothing End If 方法3: '插入文本框 Dim o Set o=WebBrowser1.Document.selection.createrange o.execCommand"InsertTextArea",False,"xxx" vb调用Webbrowser技巧集3 1、页面滚动: Private Sub Command2_Click() WebBrowser1.Document.parentwindow.scrollby0,30 End Sub Private Sub Form_Load() WebBrowser1.Navigate"https://www.wendangku.net/doc/b53504211.html," End Sub 点击Command2就可以使当前页面向下滚动30像素

WinForm控件开发基础教程四控件属性

WinForm控件开发基础教程四控件属性 前一篇文章介绍了常用的设计时Attribute。其中BrowsableAttribute,CategoryAttribute,DescriptionAttribute,DefaultPropertyAttribute,DefaultEventAttribute都是比较简单的,也是可有可无,但是为了提供更好的用户体验这些Attribute最好不要省掉,如果你对这些Attribute还不熟悉,可以参考我前一篇文章的描述或者查看MSDN,这里我就不在赘述了。下来我们主要介绍一下DesignerSerializationVisibilityAttribute和TypeConverterAttribute。 DesignerSerializationVisibilityAttribute的功能是指示一个属性是否串行化和如何串行化,它的值是一个枚举,一共有三种类型Content,Hidden,Visible。Content指示代码生成器为对象包含的内容生成代码,而不是为对象本身,Hidden指示代码生成器不为对象生成代码,visible指示代码生成器为对象生成代码。假如你的控件有一个集合属性,又想在设计时自动将集合属性的内容生成代码,那么就使用这个Attribute,并将值设为DesignerSerializationVisibility.Content。 TypeConverterAttribute的作用就更大一些,也稍微复杂一些。TypeConverterAttribute主要的目的是为属性指定一个类型转换器,这个转化器可以将属性的值转换城其它的类型。.NET 框架已经为大部分常用的类型都提供了类型转换器,比如Color就有ColorConverter,枚举类型就有EnumConverter,等等,所以一般情况下你没有必要写类型转换器,如果你的属性的特殊的类型或者自定义的类型那么就必须要写了。类型转换器都是从https://www.wendangku.net/doc/b53504211.html,ponentModel.TypeConverter派生出来的,你需要重写其中的一些方法来达到转换的目的,在我们开发的过程中,其实只关心属性的值如何转换成字符串(因为属性的值需要在属性浏览器里显示出来,属性浏览器里显示的都是字符串)和源代码(需要自动为属性的值生成源代码以实现持久化),当然反过来,也要将字符串和源代码转换成属性的值。另外使用TypeConverter也可以实现子属性,让属性的子属性也显示在属性浏览器里,并且可以折叠。 接下来我就写一个简单的控件来演示一下这个控件。代码如下: using System; using System.Collections.Generic; using System.Text; using System.Windows.Forms; using System.Drawing; using https://www.wendangku.net/doc/b53504211.html,ponentModel; using System.Collections; namespace CustomControlSample { public class MyListControl:System.Windows.Forms.Control { private List_list=new List(); public MyListControl()

控件使用

、控件mscomm32.ocx 的几个重要属性 CommPort:设置并返回通讯端口号。 Settings:以字符串的形式设置并返回波特率、奇偶校验、数据位、停止位PortOpen:设置并返回通讯端口的状态。也可以打开和关闭端口。 Input:从接收缓冲区返回和删除字符。 Output:向传输缓冲区写一个字符串。 InBufferCount:返回接收缓冲区中等待的字符数,该属性在设计时无效,可以把InBufferCount 属性设置为0 来清除接收缓冲区。 InBufferSize:设置并返回接收缓冲区的字节数,接收缓冲区的大小。Rthreshold:产生OnComm 事件之前要接收的字符数。设置Rthreshold 为1,接收缓冲区收到每一个字符都会使MSComm 控件产生OnComm 事件。设置为0(缺省值)则不产生OnComm 事件。 CommEvent:返回最近的通讯事件或错误。该属性在设计时无效,在运行时为只读。只要有通讯错误或事件发生时都会产生OnComm 事件,CommEvent 属性存有该错误或事件的数值代码。CommEvent 属性返回2 表示收到Rthreshold 个字符。该事件将持续产生直到用Input 属性从接收缓冲区中删除数据。 2、实例: 该事例演示如何控制COM口发送命令及如何接收数据。本事例采用轮讯方式。适用于通讯数据 不是很巨大的和要求不是很高速的情况下。 (1)在VFP中,建立一个新的表单 (2)插入文本(命名为TEXT1,用来显示读取的数据) (3)建立Microsoft Communication Control1 控件在工具栏中点插入ole容器控件,选择Microsoft Communication Control 控件(NAMe为mscomm1) (4)建立一个按纽命名为command1 (5)在CHICK属性里下如下代码: **存储变量名字 buffer="" ** 使用COM1。 https://www.wendangku.net/doc/b53504211.html,mPort = 1 **9600 波特,无奇偶校验,8 位数据,一个停止位。 thisform.MSComm1.Settings = "9600,N,8,1" * 告诉控件读入整个缓冲区。 thisform.MSComm1.InputLen = 0 * 打开端口。 thisform.MSComm1.PortOpen = True **将attention 命令送到调制解调器。这是MODEM的状态读取命令 thisform.MSComm1.Output = "ATV1Q0" & Chr$(13) ** CHR(13)是回车符号,用来表示命令结束 **等待数据返回到串行端口。 vv=1 do while .t. Buffer = thisform.MSComm1.Input *从串行端口读"OK" 响应。

c#对WebBrowser的扩展资料汇总

C#Webbrowser中屏蔽弹出窗口及脚本错误提示 当IE浏览器遇到脚本错误时浏览器,左下角会出现一个黄色图标,点击可以查看脚本错误的详细信息,并不会有弹出的错误信息框。当我们使用WebBrowser控件时有错误信息框弹出,这样程序显的很不友好,而且会让一些自动执行的程序暂停。我看到有人采取的解决方案是做一个窗体杀手程序来关闭弹出的窗体。今天探讨的方法是从控件解决问题。 1、SHDocVw.dll 在COM时代我们使用的WebBrowser控件是SHDocVw.dll。屏蔽错误信息的方法很简单使用下面的一句就可以搞定。 [c-sharp]view plaincopyprint? 1.WebBrowser1.Silent = true; 1.webBrowser1.ScriptErrorsSuppressed = true;

1.//捕获控件的错误 2.this.WebBrowser.Document.Window.Error += new HtmlElementErrorEventHandler(Wi ndow_Error); 3.//对错误进行处理 4.void Window_Error(object sender, HtmlElementErrorEventArgs e) 5.{ 6. // 自己的处理代码 7. e.Handled = true; 8.}

3、上面的方法对于多个框架嵌套等等的情形还是不能很好的解决。 为了彻底解决这个问题,我们借助AxWebBrowser来解决WebBrowser的问题。 我们定义一个自己的类,他的父类是WebBrowser,以后使用这个类就可以了。在这个类的定义中需要引用SHDocVw。 [c-sharp]view plaincopyprint? 1.class EWebBrowser : System.Windows.Forms.WebBrowser 2.{ 3. SHDocVw.IWebBrowser2 Iwb2; 4. 5. protected override void AttachInterfaces(object nativeActiveXObject) 6. { 7. Iwb2 = (SHDocVw.IWebBrowser2) nativeActiveXObject; 8. Iwb2.Silent = true; 9. base.AttachInterfaces(nativeActiveXObject); 10. } 11. 12. protected override void DetachInterfaces() 13. { 14. Iwb2 = null; 15. base.DetachInterfaces(); 16. } 17.} 18. 19. 20. 21.//项目中添加Micrsoft.mshtml引用 https://www.wendangku.net/doc/b53504211.html,ing mshtml; 23. 24.private void webBrowser1_Navigated(object sender, WebBrowserNavigatedEventAr gs e) 25.{ 26. IHTMLDocument2 vDocument = (IHTMLDocument2)webBrowser1.Document.DomDocum ent;

C# WinForm窗体及其控件的自适应

C# WinForm窗体及其控件的自适应 C# WinForm窗体及其控件自适应各种屏幕分辨率 一。说明 我们自己编写程序的界面,会遇到各种屏幕分辨率,只有自适应才能显的美观。实际上,做到这点也很简单,就是首先记录窗体和它上面控件的初始位置和大小,当窗体改变比例时,其控件的位置和大小也按此比例变化即可。因为窗体上控件的位置和大小是相对于自己所在的窗体的,也就是所谓的窗口坐标。 在这里我们只考虑相对于自己窗体的窗口坐标更简单,也就是成比例变化。为了多个窗体共用,我在这里创建一个类AutoSizeFormClass ,1.使用它去记录窗体和其控件的初始位置和大小,2.根据窗体变化了的大小,成比例地实现其控件的水平和垂直方向的变化,也就是自适应。 二。使用方法 使用方法很简单, 1.把自适应的类整体复制到你的工程命名空间里, 然后在需要自适应的窗体中做3步即可: 2.声明自适应类实例。 3.为窗体添加Load事件,并在其方法Form1_Load中,调用类的初始化方法,记录窗体和其控件初始位置和大小 4.为窗体添加SizeChanged事件,并在其方法Form1_SizeChanged中,调用类的自适应方法,完成自适应 三。完整代码如下: (一)。自适应窗体的代码: using System; using System.Collections.Generic;

using https://www.wendangku.net/doc/b53504211.html,ponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace WindowsApplication1 { public partial class Form1 : Form { //1.声明自适应类实例 AutoSizeFormClass asc = new AutoSizeFormClass(); public Form1() { InitializeComponent(); } //2. 为窗体添加Load事件,并在其方法Form1_Load中,调用类的初始化方法,记录窗体和其控件的初始位置和大小 private void Form1_Load(object sender, EventArgs e) { asc.controllInitializeSize(this); } //3.为窗体添加SizeChanged事件,并在其方法Form1_SizeChanged中,调用类的自适应方法,完成自适应 private void Form1_SizeChanged(object sender, EventArgs e) { asc.controlAutoSize(this); } } }

使用WebBrowser 控件打开Office文档

如何使用WebBrowser 控件在Visual C# 2005 或Visual C# .NET 中打开Office 文档 查看本文应用于的产品 本文的发布号曾为CHS304662 有关本文的Microsoft Visual Basic .NET 版本,请参阅304643。 本页 ?概要 ?更多信息 o创建可打开Office 文档的Visual C# 应用程序 o使用WebBrowser 控件的注意事项 o将WebBrowser 控件与2007 Microsoft Office 程序一 起使用时的注意事项 ?参考 展开全部| 关闭全部 概要 您可能希望直接在Microsoft Visual C# 窗体中显示或嵌入Microsoft Office 文档。Microsoft Visual C# 2005 和Microsoft Visual C# .NET 不提供用于在窗体中嵌入Office 文档的OLE 控件。如果希望嵌入现有文档并将其作为Visual C# 窗体内的就地ActiveX 文档对象打开,一个可能的解决方案是使用Microsoft WebBrowser 控件。 本文阐述如何使用WebBrowser 控件在Visual C# 窗体内浏览到现有Office 文档并显示它。回到顶端 更多信息 ActiveX 文档是比传统OLE 对象更像ActiveX 控件的可嵌入OLE 对象。与传统嵌入对象不同的是,ActiveX 文档不是作为更大文档中所包含的对象而设计的。其本身可以算作是仅供查看(如用Microsoft Internet Explorer 查看)或是与其他文档(如Microsoft Office 活页夹文件)一起集中到单个资源的完整文档。WebBrowser 控件中承载的ActiveX 文档始终是活动的;因此,与传统的OLE 嵌入对象不同,无需就地激活。 尽管Visual C# 2005 和Visual C# .NET 当前不支持直接承载ActiveX 文档,但您可以使用WebBrowser 控件来实现此目的。WebBrowser 控件(Shdocvw.dll) 是Internet Explorer 的一部分,并且只能在安装了Internet Explorer 的系统上使用。

winform窗体和控件自适应

有时winform窗体的大小会改变,此时窗体上的控件会很混乱,如何可以使控件自适应窗体呢?以 下就是方法: 1、首先在自己的命名空间里先建一个Autosize.cs类 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows.Forms; namespace 自己的命名空间 { class Autosize { public void setTag(Control cons) { foreach (Control con in cons.Controls) { con.Tag = con.Width + ":" + con.Height + ":" + con.Left + ":" + con.Top + ":" + con.Font.Size; if (con.Controls.Count > 0) setTag(con); } } string[] mytag; public void setControls(float newx, float newy, Control cons) { foreach (Control con in cons.Controls) { if (con.Tag != null) { mytag = con.Tag.ToString().Split(new char[] { ':' }); float a = Convert.ToSingle(mytag[0]) * newx; con.Width = (int)a; a = Convert.ToSingle(mytag[1]) * newy; con.Height = (int)(a); a = Convert.ToSingle(mytag[2]) * newx; con.Left = (int)(a); a = Convert.ToSingle(mytag[3]) * newy; con.Top = (int)(a); Single currentSize = Convert.ToSingle(mytag[4]) * Math.Min(newx, newy); }

KVDBGrid控件使用方法

KVDBGrid控件使用方法 KVDBGrid控件是一个组态王提供的用于通过ODBC接口访问数据库的Active X控件。通过该控件,用户可以方便的访问到数据库,进行数据查询,还可将查询结果打印出来。 一、控件功能: 1.显示数据库一个表中的数据,可进行显示字段选择,查询条件限制(目前暂不支持多个表数据的查询)。 2.开发状态可设置显示表头。 3.运行状态可编辑表格中数据。但不更新数据库。 4.运行状态可动态设置过滤条件,刷新显示。 5.可打印表格中显示的数据,可进行横向和纵向分页。 二、使用说明: 1.在画面中插入控件:组态王画面菜单中编辑\插入通用控件,或在工具箱中单击“插入通用控件”按钮,在弹出的对话框中选择KVDBGrid Class,单击确定。 2.按下鼠标左键,并拖动,在画面上绘制出表格区域。 3.设置动画连接:双击控件或选择右键菜单中动画连接,在弹出的属性页中设置控件名称等信息(控件动画连接属性的具体设置请参见《组态王6.0使用手册》中控件一章)。 4.设置控件属性:选择控件右键菜单中“控件属性”。弹出控件固有属性页,可分别设置如下属性:(1)、数据源: 单击“浏览”按钮可选择或新建ODBC数据源。 选择数据源后“表名称”组合框中就自动填充了可选的表名称,可弹出下拉列表选择要显示的数据所在的表名称。 选择表名称后,“有效字段”中自动填充表中的所有字段,可通过“添加”、“删除”,“上

移”,“下移”按钮来选择要显示的字段和显示顺序。 单击显示的字段,可在右侧设置字段显示的标题、格式、对齐等属性。 最后在“查询条件”中设置限制条件(ODBC SQL语法)。如查询“日期”2001年9月1日的“原料罐液位”大于10的所有数据,则在该文本框中输入: 原料罐液位>10 and 日期=’2001/9/1’ (2)、表格属性: 可设置表格的一般属性。 说明:如固定行数大于1,则第一行显示选择字段的标题,其它固定行不自动填充,要由 使用者在设计状态编辑其显示内容。 (3)、颜色: 可设置表格颜色,背景颜色,文本颜色等信息。 (4)、字体:

MFC控件使用详细教程

使用Windows标准控件 我们在前面曾提到过,控件是一些行为标准化了的窗口,一般用于对话框或其它窗口中充当与用户交互的元素。在Visual C++中,可以使用的控件分成三类: (1) Windows标准控件 Windows标准控件由Windows操作系统提供,在Windows 95中还提供了一些新增的控件。所有这些控件对象都是可编程的,我们可以使用Visual C++提供的对话框编辑器把它们添加到对话框中。Microsoft基础类库(MFC)提供了封装这些控件的类,它们列于表6.1。 表6.1 Windows标准控件

续表6.1 前面提到过,在MFC中,类CWnd是所有窗口类的基类,很自然的,它也是所有控件类的基类。Windows标准控件在以下环境下提供: ?Windows 95 ?Windows NT 3.51及以后版本 ?Win32s 1.3 ?注意: ?Visual C++ 4.2及以后版本不再支持Win32s。 (2) ActiveX控件

ActiveX控件可用于对话框中,也可用于HTML文档中。这种控件过去被称为OLE 控件。本书将在专门的章节中来讲述关于ActiveX控件的知识。这里仅指出ActiveX控件使用了与标准控件完全不同的接口和实现方法。 (3) 其它MFC控件类 除了Windows标准控件和自己编写的或者来自于第三方软件开发商的ActiveX 控件以外,MFC还提供了另外三种控件,它们由下面的三个类进行封装: ?类CBitmapButton用于创建以位图作为标签的按钮,位图按钮最多可以包括四个位图图片,分别代表按钮的四种不同状态。 ?类CCheckListBox用于创建选择列表框,这种列表框中的每一项前面有一个复选框,以决定该项是否被选中。 ?类CDragListBox用于创建一种特殊的列表框,这种列表框允许用户移动列表项。 在本章我们仅讲述第一类控件,即Windows标准控件。所涉及的内容包括各个控件的使用及相应的技巧。 第一节使用对话框编辑器和ClassWizard 对于大多数Windows标准控件,我们一般都使用对话框编辑器来将它们添加到对话框中。 图6. 1 在ResourceView中选择对话框 IDD_DIALOGDEMO_DIALOG

VB中WEBBROWSER技巧整理合集

VB关于webbrowser相关操作大全 日期:2011-2-17 文档收集者:银河 1、WebBrowser的方法、属性、事件------------------------------------------------------------ 2 2、提取网页源码 ----------------------------------------------------------------------------------- 3 3、防止新窗口里头打开网页 --------------------------------------------------------------------- 4 4、新Webbrowser控件打开链接 ----------------------------------------------------------------- 5 5、去掉滚动条 -------------------------------------------------------------------------------------- 5 6、禁止鼠标右键 ----------------------------------------------------------------------------------- 6 7、如何获得网页的内容 --------------------------------------------------------------------------- 6 8、多框架框架页面访问 --------------------------------------------------------------------------- 7 9、获得浏览器信息--------------------------------------------------------------------------------- 7 10、弹出Webbrowser消息窗口 ----------------------------------------------------------------- 8 11、向Webbrowser中写入HTML内容的几种方法--------------------------------------------- 8 12、控制页面滚动--------------------------------------------------------------------------------- 9 13、判断页面是否可以前进后退---------------------------------------------------------------- 9 14、如何获得网页中被选中部分的HTML -------------------------------------------------- 10 15、Navigate的参数调用------------------------------------------------------------------------11 16、本地文件收藏夹操作 -----------------------------------------------------------------------11 17、让Webbrowser全屏------------------------------------------------------------------------ 12 18、选择网页上的内容 ------------------------------------------------------------------------- 12 19、用IE来下载文件--------------------------------------------------------------------------- 13 20、Webbrowser确定窗口对话框 ------------------------------------------------------------- 14 21、禁止WebBrowser控件中网页弹窗 ------------------------------------------------------ 14 22、取得源码调试正常运行错误-------------------------------------------------------------- 15 23、页面元素操作------------------------------------------------------------------------------- 15 例0: 查看网页元素 ----------------------------------------------------------------------------- 15 例1: 给username文本框内填充内容: -------------------------------------------------------- 15 例2: 找到提交按钮并点击--------------------------------------------------------------------- 16 例3: 难度的-------------------------------------------------------------------------------------- 16 例4: 模拟鼠标点击来点击按钮 --------------------------------------------------------------- 17 例5: 根据ID直接CLICK --------------------------------------------------------------------- 17 例6: 给列表单选项赋值------------------------------------------------------------------------ 17 例7: 网页自动填写表单注册 ------------------------------------------------------------------ 18 24、网页按钮的终极控制 ---------------------------------------------------------------------- 20 22、执行网页中的脚本------------------------------------------------------------------------------- 21 23、提取字符串或网页源代码中指定的资源(可利用这一函数做文章采集器) ----------- 23 24、中文汉字转化为URL编码--------------------------------------------------------------------- 25 25、获取网页中的验证码---------------------------------------------------------------------------- 27

相关文档
相关文档 最新文档