在 IE 中使用 Windows 窗体控件

简介:

 根据在线监测项目需要,要求实现在IE中运行SmartClient程序,而且需要能够和客户端的JavaScript进行交互。

在.NET SDK的文档中有相关内容描述如下:

  • IE 内的Windows窗体控件无需用户提示即可激活,它不要求注册,而且遵守公共语言运行库 (CLR) 代码访问安全性法则;
  • 在 IE 中几乎可以承载任何Windows窗体控件,该控件必须被安装到全局程序集缓存(GAC)或者与使用它的Web页面位于相同的虚拟目录中;
  • IIS虚拟目录的执行权限必须为纯脚本,否则将无法激活要使用的控件。

在 IE 中运行Windows窗体控件,需要如下步骤:

  1. 创建Windows窗体控件:
    新建Windows 控件库项目,和普通的控件库一样。
  2. 创建引用该Windows窗体控件Html文档:
    在Html文档中加入object标记,该标记引用Windows窗体控件例如:
    <object id="smartClient1" classid="http:ClientLib/SmartClientLib.dll#SmartClientLib.UserControl1"
            width="300" height="300">
        <param name="Text" value="Simple Control">
    </object>
    最重要的就是classid,包括指向控件库的相对路径和控件的完全限定名,与ActiveX的object标记不同的是Windows窗体控件不需要guid,在Windows窗体控件中,路径和完全限定类名将作为唯一的标识;也可以param标记,设置控件上的属性,name表示属性的名称,value表示属性的值;也可以通过JavaScript脚本访问控件的公开的属性、方法。
  3. 创建虚拟目录并设置权限:
    如上所述,设置网页所在虚拟目录的权限,并部署Windows窗体控件。
  4. 运行该控件:
    启动 IE 浏览网页,Windows窗体只能够在 IE 浏览器中运行,不能够在其它的浏览器中运行。

注意:如果用VS2005编译,出现窗体控件不能够正常显示,或者不能和客户端JavaScript脚本进行交互访问,将所有的Windows窗体控件代码复制到一个文件中,用.NET附带的命令行工具csc/vbc进行编译,则可以正常显示,不知是怎么回事。

张志敏所有文章遵循创作共用版权协议,要求署名、非商业 、保持一致。在满足创作共用版权协议的基础上可以转载,但请以超链接形式注明出处。

本博客已经迁移到 GitHub , 围观地址: http://beginor.github.io/

本文转自张志敏博客园博客,原文链接:http://www.cnblogs.com/beginor/archive/2007/06/02/768876.html ,如需转载请自行联系原作者

相关文章
|
7月前
|
IDE 关系型数据库 开发工具
使用Visual Basic进行Windows窗体开发
【4月更文挑战第27天】本文介绍了使用Visual Basic进行Windows窗体(WinForms)开发的步骤,从搭建开发环境到创建、设计用户界面,再到编写事件驱动的代码和数据绑定。Visual Basic结合WinForms提供了一种易学易用的桌面应用开发方案。通过调试、优化、部署和维护,开发者可以构建专业应用程序。随着技术发展,掌握最新UI设计和开发工具对于保持竞争力至关重要。本文为初学者提供了基础指导,鼓励进一步探索和学习。
223 0
|
7月前
|
Java 数据库 C#
C#winforms实现windows窗体人脸识别
C#winforms实现windows窗体人脸识别
|
数据采集 开发工具 图形学
Windows平台实现Unity下窗体|摄像头|屏幕采集推送
随着Unity3D的应用范围越来越广,越来越多的行业开始基于Unity3D开发产品,如传统行业中虚拟仿真教育、航空工业、室内设计、城市规划、工业仿真等领域。
113 0
|
7月前
|
JavaScript Linux C#
【傻瓜级JS-DLL-WINCC-PLC交互】1.C#用windows窗体控件创建.net控件
【傻瓜级JS-DLL-WINCC-PLC交互】1.C#用windows窗体控件创建.net控件
149 0
|
7月前
|
C# Windows
C#安装“Windows 窗体应用(.NET Framework)”
C#安装“Windows 窗体应用(.NET Framework)”
202 0
|
C++ Windows
C++ Windows窗口程序:子窗口控件之按钮类button
C++ Windows窗口程序:子窗口控件之按钮类button
920 0
|
API C# Windows
C#实现操作Windows窗口句柄:遍历、查找窗体和控件【窗口句柄最全总结之一】
C#对Windows窗口或窗口句柄的操作,都是通过 P/Invoke Win32 API 实现的,DllImport引入Windows API操作窗口(句柄),可以实现枚举已打开的窗口、向窗口...
3955 0
C#实现操作Windows窗口句柄:遍历、查找窗体和控件【窗口句柄最全总结之一】
|
C# Windows 容器
C#面向对象程序设计课程实验二: 实验名称:Windows 窗体程序
C#面向对象程序设计课程实验二: 实验名称:Windows 窗体程序
C#面向对象程序设计课程实验二: 实验名称:Windows 窗体程序
|
IDE 程序员 编译器
C#编程学习09:vs2015的windows窗体应用程序创建及英文界面变换为中文界面的方法
C#编程学习09:vs2015的windows窗体应用程序创建及英文界面变换为中文界面的方法
C#编程学习09:vs2015的windows窗体应用程序创建及英文界面变换为中文界面的方法
|
JSON Java API
C#winforms实现windows窗体人脸识别
C#winforms实现windows窗体人脸识别
343 0