当前位置:文档之家› WebBrowser控件应用:弹出新窗体和关闭窗口

WebBrowser控件应用:弹出新窗体和关闭窗口

WebBrowser控件应用:弹出新窗体和关闭窗口
WebBrowser控件应用:弹出新窗体和关闭窗口

WebBrowser控件应用:弹出新窗体和关闭窗口

WebBrowser控件应用:弹出新窗体和关闭窗口

Posted on 2007-04-14 18:50 江湖再见阅读(29873) 评论(10) 编辑收藏

缘起:上次写了一个《WebBrowser控件的简单应用2》,提到了在NewWindow事件中打开新窗口的例子。有网友“队长”提出那个事件得到的参数是本页面的,而不是新页面的,经过测试,果然url参数不是新页面的。

Open新页面要处理的:

1:<<a href=’xxxxx’ target=’_blank’>>;

2: onclick=’window.open’ ;

3:引用js文件;

4:ClientScript.RegisterStartupScript();等。

5:还有要实现在打开的页面里能用window.opener对象Close要处理的:

1:onclick=’window.close ;

2:引用js文件;

3:ClientScript.RegisterStartupScript()等。

经过在网上搜索,结果并不令人满意。基本上,WebBrowser 控件不提供这个(将要打开的新页面的地址)功能,只能通过其他方法。

这里介绍一下网上的一个简单的解决方案、我的一个简单方案、微软的回答、一个终极解决方法。

网上现在有人给出这样的一个解决方案:在_NewWindow事件通过wb_Container.StatusText来获得当前将要打开的页面。代码可以这样写:

private void wb_Container_NewWindow(object sender, CancelEventArgs e)

{

e.Cancel = true;

string newURL = wb_Container.StatusText;

//'open

}

我测试了一下,这样做基本上只能处理<a href=’xxxxx’ target=’_blank’>的这种情况。对于<button>里面的onlcick事件window.open()毫无作用。

原因很简单,他只是利用了WebBrower现实Status的特点

来做,不全面,不安全。至于其他情况也是完全不能处理,比如js中使用window.Open,这个方案根本不能检查。

我的处理方法:

刚开始,我使用了这样的思路:针对所有可能出现的情况,找个各个不同方法来处理。

比如说,对于<a herf=’’的这种情况,就用

wb_Container.StatusText方法,但是要加入一个判断。

If(wb_Container.StatusText!=””)。对于window.open和RegisterStartupScript的,可以通过替换js来实现。

本来的window.open函数,在程序完成加载之后,我把这个函数修改成window.external.open,

然后,我把我的AppBrowser类里面加入几个public的Open 函数来对应原来的js的open函数就可以了。

这是一个代码实现。

private void wb_Container_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) {

//for windows.open

if

(wb_Container.DocumentText.IndexOf("window.open(")

> -1 ||

wb_Container.DocumentText.IndexOf("window.close()") > -1)

{

wb_Container.DocumentText =

wb_Container.DocumentText.Replace("window.open(", "window.external.open(").Replace("window.close()", "window.external.close()");

}

}

这样处理之后,保证了我的浏览器也能理解这些js。

这个方案唯一不能处理的就是js文件里面有处理的情况。还有一个小问题,替换之后的document对象的action变化了。这个可以通过方法来实现,就是替换上边的函数,改用递归document.all来实现,检查每个element控件的内容来实现。

但是,毕竟美中不足。

微软的解释是这样的:这个问题,下一个版本在解决(https://www.doczj.com/doc/c216956089.html,/VisualStudio/feedback/Vie wFeedback.aspx?FeedbackID=115195),开发者可以通过扩展WebBrower及其Event来实现。并且提供了一个简单的代码(但是显示不完全)。是的,这是个好的解决方案,

但不是我想要的。既然封装了这个控件,为什么不提供这么重要的一个参数呢?

有高手已经做出了一个模型:

(https://www.doczj.com/doc/c216956089.html,/csharp/ExtendedWebBrows er.asp)

(作者实现了一个类似IE7效果的浏览器)

这个模型里面,作者自己封装并且扩展了这个控件,是个最终极的解决方法。

主要思路:提供了一个将要打开新窗口的事件,并且提供更多的参数。这些参数来自IWebBrowser2等接口,还提供了一些WndProc重载来实现window.close。

下载之后,我保留了这些类,做了一个简单的测试ExtendedWebBrowser :

System.Windows.Forms.WebBrowser

.WebBrowserExtendedEvents : UnsafeNativeMethods.DWebBrowserEvents2

.WindowsMessages(enum)

UnsafeNativeMethods

.DWebBrowserEvents2([ComImport,

TypeLibType((short)0x1010), InterfaceType((short)2),

Guid("34A715A0-6587-11D0-924A-0020AFC7AC4D")]) .IWebBrowser2([ComImport, SuppressUnmanagedCodeSecurity,

TypeLibType(TypeLibTypeFlags.FOleAutomation | (TypeLibTypeFlags.FDual | TypeLibTypeFlags.FHidden)), Guid("D30C1661-CDAF-11d0-8A3E-00C04FC9E26E")]) BrowserExtendedNavigatingEventArgs : CancelEventArgs UrlContext

ScriptError

NativeMethods

结果非常不错。

主要处理的几个地方:

NewWindow2和NewWindow3:处理新打开窗口BeforeNavigate2:获得将要打开的窗口的地址。

主要提供的新事件:_StartNewWindow(object sender, BrowserExtendedNavigatingEventArgs e)

下边这一个是我的第二个AppBrowser类,使用上边封装扩展之后的WebBrower控件。

AppBrowser2 source code

分类: VS2005

绿色通道:

好文要顶

关注我

收藏该文与我联系江湖再见

关注- 0

粉丝- 117+加关注1

(请您对文章做出评价) 上一篇:WebBrowser控件的简单应用2

下一篇:RealWorld.Grids(BulkEditGridView)多行编辑列表控件。

ExcelVBA用户窗体编程基础

ExcelVBA用户窗体编程基础 概述 当使用MsgBox函数和InputBox函数不能满足与用户交互的需求时,您能使用用户窗体来自定义对话框。您能使用用户窗体来显示所输入的数据,您甚至能使用用户窗体创建一个完整的用户界面,而不会让用户接触到电子表格本身。 您在Windows对话框中所看到的大多数控件都能在用户窗体中实现——命令按钮,选项按钮,复选框,文本框,组合框——加上一些其它不常用的控件像图像,日历,等等。 本文介绍了用户窗体的基本概念,并介绍了使用用户窗体的常用技术。其中,也讲解了一些最通用的思路。在文章中列举了一个包含所有过程的完整的示例文件,以及实现这些过程的代码,让您能在实践中看到所有工作的基本原理和方法。 本文包含以下内容: ● 基本的用户窗体操作 ● 用户窗体和控件的属性 ● 一个用户窗体的生命周期 ● 用户窗体和控件的事件 ● 问题1:如何在用户窗体间传递数据? ● 问题2:如何找到我的窗体中的某类控件? ● 问题3:如何获取数据到列表框中? ● 问题4:如何为循环创建进度条? ● 一个完整的用户窗体综合示例 基本的用户窗体操作 ?创建一个窗体。打开VBE编辑器(选择菜单“工具——宏——Visual Basic编辑器”或按Alt+F11组合键),选择菜单“插入——用户窗体”,或者在工程窗口中单击右键,从弹出的快捷菜单中选择“插入——用户窗体”,即可创建一个窗体。 ?添加控件。当你创建了一个窗体后,将会显示一个名为“控件工具箱”的浮动工具箱(如果没有该工具箱的话,您可以从视图菜单中找到它),其中显示了最普遍的控件类型。单击您想要的控件,拖动它到您的用户窗体中。 ?更多的控件。有一些更多的可用的控件,您可以在控件工具箱中单击右键,从中选择“附加控件”,您能添加日历、电子表

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控件.

vb基础应用答案

91: (1)【考点分析】本题考点有ComboBox控件的属性设置,窗体Caption属性。 【解题思路】在窗体上添加控件后,要设置控件的相关属性,使其外观、数据与图示相同。【操作步骤】 步骤1:新建一个窗体,在窗体上添加一个ComboBox控件。 步骤2:设置这个ComboBox控件的名称为Cbo1,Style属性为"1-Simple Combo",List 值输入北京、天津、上海. 步骤3:设置窗体Caption属性为"使用组合框"。 步骤4:测试并运行程序,关闭程序后按题目要求存盘。 (2)【考点分析】本题考点有:窗体的Caption属性,窗体的单击事件,PictureBox控件的Print方法。 【解题思路】单击窗体,则改变窗体标题和PictureBox控件的显示文本,说明在窗体的Click事件中执行了改变以上相关属性的语句。改变窗体标题可直接对Caption属性赋值,改变PictureBox控件的显示文本可以使用它的Print方法。 【操作步骤】 步骤1:新建工程,设置窗体Capion属性为"程序设计"。 步骤2:在窗体上添加PictureBox控件,设置名称为P1。 步骤3:打开代码编辑窗口,在Form的Click事件下编写如下代码。 参考答案 P1.Print Caption Caption = "Basic" 步骤4:测试并运行程序,关闭程序后按题目要求存盘。 92: (1)【考点分析】本题考点是Image控件的属性、CommandButton控件的Tab属性。 【解题思路】使用图像随着控件的大小而变化,需要设置Image控件的Stretch属性为True。而窗体运行时按回车按即执行按钮的Click事件,需要设置按钮控件的TabIndex属性为0,TabStop属性为True。 【操作步骤】 步骤1:新建一个工程。 步骤2:在窗体上添加一个Image控件,一个Button控件。控件的主要属性设置如下表。 步骤3:调试并运行程序,关闭程序后按题目要求存盘。 (2)【考点分析】本题考点是CommonDialog控件的添加使用,菜单的添加和事件设置。 【解题思路】通用对话框是一种ActiveX控件,在一般情况下,启动VB后,在工具箱中没有通用对话框控件。为了把通用对话框控件加到工具箱中,其操作步骤如下:执行"工程"菜单中的"部件"命令,打开"部件"对话框。在对话框中选择"控件"选项卡,然后在控件列表框中,选择"Microsoft Common DialogControl 6.0"。单击"确定"按钮,通用对话框立即被加到工具箱中,通用对话框的属性可以在属性窗口中直接设置。 菜单的添加可以在窗体上右击,选择"菜单编辑器"来创建和修改。 【操作步骤】 步骤1:新建一个工程。如果工具箱中没有通用对话框控件,则通过菜单"工程"-"部件"

第6章 控件与用户窗体代码【超实用VBA】

第6章控件与用户窗体 范例67 文本框只能输入数值 Private Sub TextBox1_KeyPress(ByVal KeyANSI As MSForms.ReturnInteger) With TextBox1 Select Case KeyANSI Case Asc("0") To Asc("9") Case Asc("-") If InStr(1, .Text, "-") > 0 Or .SelStart > 0 Then KeyANSI = 0 End If Case Asc(".") If InStr(1, .Text, ".") > 0 Then KeyANSI = 0 Case Else KeyANSI = 0 End Select End With End Sub Private Sub TextBox1_Change() Dim i As Integer Dim Str As String With TextBox1 For i = 1 To Len(.Text) Str = Mid(.Text, i, 1) Select Case Str Case ".", "-", "0" To "9" Case Else .Text = Replace(.Text, Str, "") End Select Next End With End Sub

范例68 限制文本框的输入长度 Private Sub TextBox1_Change() TextBox1.MaxLength = 6 End Sub 范例69 验证文本框输入的数据 Private Sub CommandButton1_Click() With TextBox1 If (Len(Trim(.Text))) = 15 Or (Len(Trim(.Text))) = 18 Then Cells(Rows.Count, 1).End(xlUp).Offset(1, 0) = .Text Else MsgBox "身份证号码错误,请重新输入!" End If .Text = "" .SetFocus End With End Sub 范例70 文本框回车自动输入 Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) Dim r As Integer r = Cells(Rows.Count, 1).End(xlUp).Row With TextBox1 If Len(Trim(.Text)) > 0 And KeyCode = vbKeyReturn Then Cells(r + 1, 1) = .Text .Text = "" End If End With End Sub 范例71 文本框的自动换行 Private Sub UserForm_Initialize() With TextBox1 .WordWrap = True

使用窗体控件

第2章使用窗体控件 课堂练习:为控件创建事件处理程序 5)传递给这个事件处理程序的第二个参数(e)的目的是什么? 答:参数e包含事件数据。它是一个EventArgs 对象(实际不包含事件数据的基类),或者是一个派生类(像MouseEventArgs)的实例。要查看派生类的完整列表,请在Visual Studio .NET帮助文档中使用短语“EventArgs 类”进行查找,然后点击链接转到“派生类”。 ●为Click 事件创建一个事件处理程序。 3)上面的双击动作为什么创建了一个Click 事件处理程序? 答:当在设计视图中双击一个控件时,IDE会自动为默认事件创建一个事件处理程序。课堂练习:创建和使用ToolBar控件 8)为什么不能向ToolBar 按钮添加图像呢? 答:ToolBar 控件将ImageList 控件作为图像源。使用ToolBar 控件的ImageList 属性指定Toolbar 将从哪个ImageList 控件获取图像。 13)运行应用程序。单击工具栏按钮时有事情发生吗?必须处理什么事件以响应单击ToolBar按钮? 答:ToolBar 的ButtonClick事件用来处理ToolBar按钮的单击。ToolBarButtonClickEventArgs 用来确定单击了哪个按钮。 课堂练习:在运行时添加和移除控件 ●添加新控件 6)为什么decimalCheckBox 出现在GroupBox1控件的左上角? 答:控件位置属性的默认坐标X和Y的值均为零。 课堂练习:在运行时更新菜单 ●使用另一个MainMenu 9)什么时候能在一个应用程序中使用多个MainMenu 控件? 答:在应用程序的上下文改变或者应用程序有多种状态时,使用(显示)多个MainMenu 对象会很有帮助。 ●将一个ContextMenu 分配给一个控件。 5)如何找出哪个控件与ContextMenu 有关联? 答:ContextMenu.SourceControl 属性获取显示快捷方式菜单的控件。 ●找出与ContextMenu关联的控件

窗体中的常用控件 单选3分

窗体中的常用控件单选3分 1.在计算机控件中,每个表达式前都要加上("=") 2.用于显示更新数据库中的字段的控件类型是(绑定型) 3.关于控件的叙述,(选项组不能设置为表达式)的说法正确 4.(表)不是窗体控件 5.纵栏式窗体同一时刻能显示(一条记录) 6.无论是自动创建窗体还是报表,都必须选定要创建该窗体或报表基于的(报表) 7.没有数据来源的控件类型是(非绑定型) 8.关于控件的叙述,(在窗体设计视图窗口中的工具箱中只能看到部分控件)说法错误 9.能够接受数字型数据输入的窗体控件是(文本框) 10.在教师信息输入窗口中,为职称字段提供"教授""副教授""讲师"等选项供用户直接选择,应使用控件是(组合框) 11.要用文本框来显示当前日期,应设置文本框的控件来源属性是(=Data()) 12.窗口事件是指操作窗口时所引发的事件,(取消)不属于窗口事件 13.如果想再加入控件时,控件自动与网格对其,则应在加入控件前,执行"格式(对其网格)"命令 14.当窗体的内容比较多无法在一页中全部显示时,可以使用(选项卡)进行分页,若要进行页面切换,用户只需单击选项卡上的标签即可 15.(选项组)是用来显示一组有限选项集合的控件 16.在学生表中使用"照片"字段存放相片,当使用向导为该表创建窗体时,照片字段使用的默认控件是(绑定对象框) 17.为窗体上的控件设置Tab键的顺序,应选择属性对话框中的(数据选项卡) 18.使用窗体设计视图,不能创建(报表) 19.如果在窗体上输入的数据总是取自某一个表或查询中记录的数据,或者取自某固定内容的数据,可以使用(组合框或列表框)控件 20.(只要单击选项组中所需的值,就可以为字段选定数据值)的说法正确 21.(命令按钮)代表一个或一组操作 22.(可以向组合框中输入新值,而列表框不行) 23.创建窗体的数据源不能是(报表) 24.若要求在文本框中输入文本时达到密码"*"号的显示效果,则应设置的属性是("输入掩码"属性) 25.(窗体设计器)不是窗体的组成部分 26.关于控件的叙述,(在选项组中每次只能选择一个选项)的说法是正确的 27.

C#在主窗体Panel中添加新的窗体

在主窗体Panel中添加新的窗体(C#,winform开发) 本文的要写的是如何将窗体(Form)添加到panel中。 为什么要这样呢? 1)如果用tab控件,整个窗体的控件太多,不易于我们编程; 2)可以更灵活的控制窗体的布局。 我想你一定看过这样的配制信息窗体吧(迅雷的配置页面)。 在你的项目开发中,是否也希望做出做出这种效果呢?应该如何设置呢?单击窗体的左边的按钮,窗体右边的内容会根据单击的按钮变化. 开始是想到的设置思路很简单,主窗体(如上图),右边放置一个Panel控件.然后根据单击的按钮将子窗体显示在Panel控件上.在按钮的单击事件中加入下面的代码:private void button1_Click(object sender, EventArgs e) {ChildForm child = new ChildForm(); this.panel1.Controls.Add(child); child.Show(); }运行程序显示“不能将顶级控件添加到一个控件上”出现“不能将顶级控件添加到一个控件上”错误怎么处理?在代码中加入 child.TopLevel = false;OK.新问题又出现了.我们不希望子窗体的标题和边筐也显示在父窗体中,再添加如下代码.

child.FormBorderStyle = FormBorderStyle.None;现在的感觉是不是舒服多了.但是还隐藏着一个新问题.怎样动态设置子窗体的Size、Location等呢?我希望在调整父窗体大小时,Panel1中子窗体的大小也跟随动态自动调整 .需要加入下面的事件 private void panel1_Resize(object sender,System.EventArgs e) { try { this.child.ClientSize=new System.Drawing.Size(panel1.Size.Width,pa nel1.Size.Height); } catch(System.Exception Er) { MessageBox.Show(Er.ToString()); } }编译无错,执行时(Error:未将对象引用设置到对象的实例) 但连续点了4个一样的错误提示确认后,程序却可以正常执行,并且form1调整窗体大小form2也可以随之响应了。 此计不行,又生一计.我们可以把子窗体当成一个控件,设置Dock属性不就行了吗?赶快测试一下:private void button1_Click(object sender, EventArgs e) {ChildForm child = new ChildForm(); child.TopLevel = false; child.Dock = System.Windows.Forms.DockStyle.Fill; child.FormBorderStyle = FormBorderStyle.None; //child.Parent = this.panel1; this.panel1.Controls.Add(child); child.Show(); }

C# WinForm开发系列 - WebBrowser

C# WinForm开发系列 - WebBrowser 2009-12-14 14:19:21 标签:C#-WebBrowser休闲WinForm开发系列 介绍Vs 2005中带的WebBrowser控件使用以及一些疑难问题的解决方法, 如如何正确显示中文, 屏蔽右键菜单, 设置代理等; 收集的文章中有可能还带了一些https://www.doczj.com/doc/c216956089.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页面内容

窗体选择题

1:在“窗体视图”中显示窗体时,窗体中没有记录选定器,应将窗体的“记录选定器”属性值设置为 A、是 B、否 C、有 D、无 2:如果在文本框内输入数据后,按Enter键或按Tab键,输入焦点可立即移至下一指定文本框,应设置的属性是______。 A、"制表位"属性 B、"Tab键索引"属性 C、"自动Tab键"属性 D、"Enter键行为"属性 3:在教师信息输入窗体中,为职称字段提供"教授"、"副教授"、"讲师"等选项供用户直接选择,最合适的控件是______。 A、标签 B、复选框 C、文本框 D、组合框 4:在学生表中用"照片"字段存放相片,当使用向导为该表创建窗体时,照片字段使用的默认控件是______。 A、图形 B、图像 C、绑定对象框 D、未绑定对象框 5:下列属性中,属于窗体的"数据"类属性的是______。 A、记录源 B、自动居中 C、获得焦点 D、记录选择器 6:在Access中为窗体上的控件设置Tab键的顺序,应选择"属性"对话框的 ______。 A、"格式"选项卡 B、"数据"选项卡 C、"事件"选项卡 D、"其他"选项卡

7:若在"销售总数"窗体中有"订货总数"文本框控件,能够正确引用控件值的是______。 A、Forms.[销售总数].[订货总数] B、Forms![销售总数].[订货总数] C、Forms.[销售总数]![订货总数]: D、Forms![销售总数]![订货总数] 8:主窗体和子窗体通常用于显示多个表或查询中的数据,这些表或查询中的数据一般应该具有的关系是______。 A、一对一 B、一对多 C、多对多 D、关联 9:能够接受数值型数据输入的窗体控件是______。 A、图形 B、文本框 C、标签 D、命令按钮 10:下列可用于创建窗体或修改窗体的视图是______。 A、设计视图 B、窗体视图 C、数据表视图 D、透视表视图 11:设计窗体时,可通过设置命令按钮的一个属性来指定按钮上要显示的文字,该属性是______。 A、名称 B、标题 C、格式: D、图像 12:在窗体设计时,要设置标签文字的显示格式应使用______。 A、格式工具栏 B、字段列表框 C、工具箱 D、窗体设计工具栏 13:下列关于窗体的叙述中,正确的是______。 A、窗体只能用作数据的输出界面 B、窗体可设计成切换面板形式,用以打开其他窗体 C、窗体只能用作数据的输入界面:

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.doczj.com/doc/c216956089.html,'); 双击窗体灰色处,对窗体进行初始化,在代码窗口中输入(Begin与End间输入核心代码): procedure TForm1.FormCreate(Sender:TObject); begin WebBrowser1.Navigate('https://www.doczj.com/doc/c216956089.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.doczj.com/doc/c216956089.html," End Sub Private Sub Command2_Click() Dim oWindow Dim oNav Set oWindow=WebBrowser1.Document.parentWindow Set oNav=oWindow.navigator Debug.Print https://www.doczj.com/doc/c216956089.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.doczj.com/doc/c216956089.html," End Sub 点击Command2就可以使当前页面向下滚动30像素

vb常用控件__练习题(含答案)

第九章控件综合试题 一、填空题 1.在图片框上放置的控件称为图片框的(子)对象,而窗体是图片框的(父)对象。2.窗体的“名称”(Name)属性只能在(属性窗口中)设置。 3.在程序中设置窗体Form1的Caption属性为"主窗体",使用的赋值语句是(Form1.Caption="主窗体")。 4.当窗体的Enabled属性为(True)时,指定窗体响应事件。 5.窗体的Unload事件是在QueryUnload事件发生之(后)发生。 6.程序中,把当前窗体移动到屏幕左上角使用的方法为(Move0,0)。 7.在窗体Form1中坐标为(1600,800)的位置上输出字符串“Visual Basic 6.0”使用的语句为(Form1.Currentx=1600)、(Form1.Currenty=800)、和(Form1.Print "VisualBasic6.0")。 8.若使文本框有边框,需设置BorderStyle属性的值为(1)。 9.在程序运行期间,用户可以用文本框显示信息。文本框接收输入的内容的属性是 (Text)。 10.若使文本框内能够接受多行文本,则要设置Multiline属性的值为(True)。11.要把图形文件“C:\sample\diannt.jpg”装载到图片框Picture1上,使用的语句为(Picturel.Picture=LoadPicture("C:\sample\diannt.jpg"))。 12.若使图片框自动调整大小以适应装入的图形,则要设置Autosize属性的值为(True)。 13.除了在程序使用LoadPicture函数装载图形外,还可以在设计阶段通过修改(Picture)属性装载图形。 14.若程序中要把一些文本内容输出到图片框PictureBox,应使用(Print)方法。 15.当单选按钮OpdonButton的Value属性为(False)时,表示该单选按钮处于未选中状态。 16.若使命令按钮Command1重新生效,则使用的赋值语句为(Command1.Enabled=True)。 17.若使命令按钮不能接收和响应任何事件,可以设置Visible属性的值为(False)。

向用户窗体中添加控件

若要向用户窗体中添加控件,请在“工具箱”中查找要添加的控件,将该控件拖到窗体上,然后拖动控件上的调整柄,直至控件的外边框成为所需的大小和形状。 注意如果将控件(或若干“成组”的控件)从窗体拖回到“工具箱”,将创建该控件的一个模板,该模板可被重新使用。对于实现应用程序的标准界面,这是非常有用的功能。 向窗体添加了控件之后,可用 Visual Basic 编辑器中“格式”菜单上的命令调整控件的对齐方式和间距。 上页:Excel VBA教程:向文档中添加控件下页:Excel VBA教程:应用程序对象事件 Excel VBA Excel VBA教程:应用程序对象事件Excel VBA教程:图表对象事件 Excel VBA教程:控件和对话框事件Excel VBA教程:在某一 Microsoft Office 应用程序中控制其他 Microsoft Office 应 用程序 Excel VBA教程:创建自定义对话框Excel VBA教程:新建工作簿 Excel VBA教程:创建“用户窗体”Excel VBA教程:显示自定义对话框 Excel VBA教程:获取有关 Macintosh 关键 字的帮助 Excel VBA教程:在单元格区域中循环Excel VBA教程:如何引用单元格和区域Excel VBA教程:初始化控件属性Excel VBA教程:打开工作簿Excel VBA教程:QueryTable对象事件 Excel VBA教程:引用工作表上的所有单元格Excel VBA教程:用 A1 样式记号引用单元格 和单元格区域 Excel VBA教程:用编号引用单元格Excel VBA教程:相对于其他单元格来引用单 元格 Excel VBA教程:用 Range对象引用单元格Excel VBA教程:用快捷记号引用单元格

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.doczj.com/doc/c216956089.html,ing mshtml; 23. 24.private void webBrowser1_Navigated(object sender, WebBrowserNavigatedEventAr gs e) 25.{ 26. IHTMLDocument2 vDocument = (IHTMLDocument2)webBrowser1.Document.DomDocum ent;

C#中用户控件与窗体间的消息传递

C#中用户控件与窗体间的消息传递 如果在c#中实现用户定义控件内的事件挂勾到调用的窗体事件中 我们都知道在https://www.doczj.com/doc/c216956089.html,开发中,如果使用用户定义控件可以有效的进行程序的模块化。其实在.net 的winform中也是可以使用的。 细节如下: 1、新建应用程序windowsapplication1。 2、添加新的用户控件userlogin。(如图user) 3、定义用户属性 //定义属性 public string username { get{return username;} set{username=value;} } public string password { get{return password;} set{password=value;} } 4、定义委托 //定义委托 public delegate void btnokclickeventhander(object sender,eventargs e); public delegate void btncancelclickeventhander(object sender,eventargs e); 5、定义事件 //定义事件 public event btnokclickeventhander btnokclick; public event btncancelclickeventhander btncancelclick 6、事件实现 private void textboxuid_textchanged(object sender, system.eventargs e) { username=this.textboxuid.text; } private void textboxpwd_textchanged(object sender, system.eventargs e) { password=this.textboxpwd.text; } private void buttonok_click(object sender, system.eventargs e) { if (btnokclick!=null)

使用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 的系统上使用。

常用窗体控件

常用窗体控件: String str=””; Foreach(Control item in this.Controls) { If(https://www.doczj.com/doc/c216956089.html,.IndexOf(“checkBox”)>0) { CheckBox ck=(CheckBox)Item; If(ck.Checked) { Str=ck.Text+”,”; } } }

高级窗体控件: 1.菜单控件MenuStrip 使用步骤: ①在Windows窗体中添加一个MenuStrip控件 ②单击该控件的Items属性,弹出“项集合编辑器”对话框 ③可以添加MenuItem子项。子项的子菜单 选择其“MenuItem”选项,单击其 DropDownItems属性,弹出相接对话框 ①选中要添加右键功能的Form或者控件,打开控件的设计页面 ②从工具箱中找到ContextMenuStrip控件,将这个控件拖曳到Form或者控件的设计页 面上。这时系统就会在这个页面下面自动创建一个contextMenuStrip1控件,如果你想在这个页面添加多个菜单,那么你也可以拖曳多个这种控件到设计页面上。 ③按照你的要求将这些ContextMenuStrip控件改成你需要的名称。然后, 选择需要右 键弹出菜单的页面,比如你当前编辑的页面中有一个DataGrid,一个T reeList,而你想分别为这两个控件添加不同的右键菜单。那么你就可以先选择DataGrid控件,然后在这个控件的属性中找到ContextMenuStrip属性,点击该属性,系统会自动查找你拖曳到当前页面的所有ContextMenuStrip控件并将这些控件罗列在这个属性的下拉菜单中。你可以选择一个你预先定义好的ContextMenuStrip控件。这样就为这个DataGrid控件设置了右键菜单。其他控件也使用同样的方法添加。 ④定义你的菜单,在为控件分配完菜单之后,你就可以定义单个的菜单。这时你可以 选中一个ContextMenu控件。系统会自动在编辑页面的上面现一个可编辑的动态菜

第二章 窗体与基本控件

第二章窗体与基本控件 教学内容: 一、窗体 窗体的属性、事件、方法及应用举例 二、基本控件以及对控件的格式化 命令按钮、标签、文本框等基本控件属性、事件与方法,基本控件的添加/删除、调整控件的大小与位置、窗体与控件的布局调整 三、简单语句 Print方法、人机对话函数(InputBox,MsgBox,Cls,End,Stop,Rem语句)、基本格式、功能、举例说明。教学要求: 了解:控件的格式化 掌握:常用控件(窗体、文本框、标签、命令按钮)的常用属性、事件和方法、Print方法、Inputbox、Msgbox、Cls、End语句的使用方法 §2.1 窗体 1.窗体的基本属性 Name 对象的名称 指定窗体的名称,在程序代码中用这个名称引用该窗体。 第一个窗体的名称缺省值为form1,通常要给name属性设置一个有实际意义的名称,便于识别。 Caption 对象的标题 设置窗体标题栏显示的文本。 Height 对象的高度 Width 对象的宽度 设置窗体的高度和宽度。单位为Twip。 1Twip=1/20点=1/1440英寸=1/567cm Enabled 对象的激活或禁止 用来设置窗体是否响应鼠标或键盘事件。缺省时为True,窗体能够对用户产生的事件作出反映。 Visible 对象的可见性 设置窗体是否显示。True(窗体可见),False(运行时,窗体及其上面的对象都将被隐藏) Top 对象的顶边距离 Left 对象的左边距离 Backcolor 设置窗体的背景颜色; Forecolor 设置窗体的前景颜色。 Font 设置窗体上字体的样式,大小,字形等。 Picture 设置在窗体中显示的图片。 注意:要在程序中设置该属性的值,需要使用LoadPicture函数。 WindowStare属性设置窗体运行时的大小状态。有三个可选值: 0-Normal 窗体大小由Height和Width属性决定,此值为缺省值; 1-Minimized 窗体最小化成图标; 2-Maximized 窗体最大化,充满整个屏幕。 2.窗体的事件和方法 事件: Click(单击)事件:单击鼠标左键时触发 DblClick(双击)事件:双击窗体时触发 Load(装入)事件:窗体被装入工作区时触发 方法: Print 格式:[对象名.] Print [表达式列表][;|,] 功能:在对象上输出信息 例如:Form1.Print “VB”;”程序设计” Cls 格式:[对象名.] Cls

相关主题
文本预览
相关文档 最新文档