在C#窗体应用程序中添加 webbrowser控件

在C#窗体应用程序中添加 webbrowser控件,第1张

额 给button1 添加单击事件 如下:

private void Button1_Click(object sender, EventArgs e)

{

string uri = textBox1.Text//你输入的地址

if (!uri.StartsWith("http://")) uri = "http://"+uri//把地址转化为标准格式

webBrowser1.Url =new Uri(uri)//在webbrowser中打开

}

//测试过 可用

首先创建一个WinForm程序,拖入一个textbox控件和一个button按钮,然后拖入一个panel控件,如图所示:

拖入panel控件后,找到WebBrowser控件并双击,WebBrowser控件就会自动填充到panel控件上,像下面这样:

之后给button改个名,双击button按钮设置一个简单的跳转行为:

private void goButton_Click(object sender, EventArgs e)

{

webBrowser1.Navigate(textBox1.Text)

}

然后一个简易的浏览器功能界面就实现了:

以上就是C#中WebBrowser控件的基本用法。

另外,需要对Form的sizeChanged事件进行一下编写:

private void mainForm_SizeChanged(object sender, EventArgs e)

{

panel1.Width = this.Width

panel1.Height = this.Height

webBrowserForm.Dock = DockStyle.Fill

}

这样在Form窗体的大小改变时,panel的大小也会随着发生改变,并且让webBrowser控件始终填充panel控件。

为了让Form窗体中的内容显示完全,还要为其添加滚动条,可以直接在Form的构造方法中添加如下语句:

this.AutoScroll = true

这样一个简易的WebBrowser就做好了。

对编写脚本熟悉的读者都知道页面中可以添加脚本响应元素的事件,例如超链接的OnClick事件,图片的OnMouseMove事件,我们也可以使VB程序响应这些事件。下面是一个VB响应页面中按钮的Click事件的代码:

首先建立一个新工程,在Form1中加入一个Webbrowser控件,然后在Form1中加入以下代码:

Option Explicit

Public Sub Some_Procedure()

MsgBox "你点击了按钮."

End Sub

Private Sub Form_Load()

'下载空页面

WebBrowser1.Navigate2 "about:blank"

End Sub

Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)

'建立事件响应类

Dim cfForward As clsForward

'定义在浏览器中显示的HTML代码,其中包含一个按钮btnMyButton

Dim sHTML As String

sHTML = "<P>This is some text."

sHTML = sHTML & "<P>And here is a button."

sHTML = sHTML & "<BUTTON ID=btnMyButton>"

sHTML = sHTML & "Click this button.</BUTTON>"

'将HTML代码写入浏览器

WebBrowser1.Document.body.innerHTML = sHTML

'将事件响应类连接到页面的按钮btnMyButton上

Set cfForward = New clsForward

cfForward.Set_Destination Me, "Some_Procedure"

WebBrowser1.Document.All("btnMyButton").onclick = cfForward

End Sub

向工程中添加一个Class Module,Class Module的Name属性设定为clsForward,在clsForward中添加以下代码:

Option Explicit

Dim oObject As Object

Dim sMethod As String

Dim bInstantiated As Boolean

Private Sub Class_Initialize()

bInstantiated = False

End Sub

Public Sub Set_Destination(oInObject As Object, sInMethod As String)

Set oObject = oInObject

sMethod = sInMethod

bInstantiated = True

End Sub

Public Sub My_Default_Method()

If bInstantiated Then

CallByName oObject, sMethod, VbMethod

End If

End Sub

运行程序,点击Webbrowser中的“Click this button”按钮。程序就会d出消息框提示“你点击了按钮.”


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11734625.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-18
下一篇2023-05-18

发表评论

登录后才能评论

评论列表(0条)

    保存