在 Internet Explorer 中使用 Windows 窗体控件
本主题描述如何在 Internet Explorer (IE) 内成功地执行 Windows 窗体控件。IE 内的 Windows 窗体控件无需用户提示即可激活,它不要求注册,而且利用公共语言运行库 (CLR) 代码访问安全性。在 Internet Explorer 内激活 Windows 窗体控件需要五步,这里列出了每一步,并在下面详细介绍。 创建 Windows 窗体控件。 
创建带有 object 标记的 HTML 文档。 
创建虚拟目录并设置权限。 
运行该控件。 
创建 Windows 窗体控件
在 Internet Explorer 中几乎可以承载任何 Windows 窗体控件,但是对于此示例,我们将承载本快速入门教程的创建控件部分中包含的 SimpleControl。该控件必须安装到全局程序集缓存中或者与包含它的 Web 页位于同一虚拟目录中。  
C# SimpleControl [运行示例] | [查看源代码]  创建带有 object 标记的 HTML 文档
下一步是创建带有 object 标记的 HTML 文档,该标记引用 Windows 窗体控件。对于此示例,还将添加一些简单的脚本和输入标记,以演示对该控件进行编程访问。<object id="simpleControl1"classid="http:SimpleControl.dll#Microsoft.Samples.WinForms.Cs.SimpleControl.SimpleControl"
height="300" width="300" VIEWASTEXT>
<param name="Text" value="Simple Control">
</object>
classid 有两个令人感兴趣的部分:指向控件库的路径和控件的完全限定名,这两者由 # 号分隔开。如果您熟悉 ActiveX object 标记,将注意到缺少一个 guid。在 Windows 窗体中,路径和完全限定类名的组合作为唯一标识符。Param 标记可用于设置控件上的属性。在这种情况下,name 特性是属性的名称,value 特性是属性的值。<script>function ChangeText() {
simpleControl1.Text = text1.value;
}</script>
?-<input type="text" id="text1">
<input type="button" value="Change Text" onclick="ChangeText()">
若要获取对控件的编程访问,可以针对该控件编写脚本。将该页上的按钮和文本框与简单 JScript 函数 ChangeText 一起使用来设置控件的 text 属性。下面是此示例的完整 HTML 和脚本代码。<html><script language="JScript">function ChangeText() {
simpleControl1.Text = text1.value;
}</script><body><p>Simple Control
<br>
<br>
</body><object id="simpleControl1"classid="http:SimpleControl.dll#Microsoft.Samples.WinForms.Cs.SimpleControl.SimpleControl"
height="300" width="300" VIEWASTEXT>
<param name="Text" value="Simple Control">
</object><br>
<br><input type="text" id="text1">
<input type="button" value="Change Text" onclick="ChangeText()"></html>创建虚拟目录并设置权限
该 HTML 页必须驻留在 Web 服务器上的 IIS 虚拟目录中,而且必须具有相应的权限。在此示例中,Windows 窗体控件驻留在同一目录中,但它也可以安装到全局程序集缓存中。虚拟目录上的执行权限必须设置为 scripts,如果执行权限设置为 scripts & executables,则将无法正确激活该控件。对于此示例,已经为您执行了这些步骤。运行该控件
若要运行该控件,只需将 Internet Explorer 指向虚拟目录中的该 HTML 页。如果该控件没有正确激活,可能需要重新启动 Internet Explorer。若要查看和运行此示例,请单击下面的图标。  
CS IE 来源 [运行示例] | [查看源代码]