一个非常简单的 .NET “Applet”






3.16/5 (17投票s)
让 Windows Forms UserControl 像 Applet 一样工作。
引言
一些时间以前,我需要我的 Web 应用程序与计算机上的特定硬件进行交互,但我不想编写 ActiveX,我想用 .NET 语言编写它。所以我搜索了网络,找到了一些帮助我的例子。 在本文中,我将在我的 .htm 页面中使用 UserControl 作为 applet。
这个 “applet” 的例子并没有做任何相关的事情。 它只是为了展示如何将 Windows Form 的代码放入网页并与其属性和方法进行交互。
它是如何工作的?
一切都非常简单,它不是一个“黑盒子”。 我创建了一个类库项目,然后添加了一个 Windows Forms UserControl 并拖放了一些组件。 然后我在同一个项目中添加了一个 HTML 页面,并更改了代码为
<html>
<head>
<title>My Applet</title>
<script language=javascript>
<!--
function Button1_onclick() {
document.getElementById("myID").MyMethodReset();
}
//-->
</script>
</head>
<body>
<OBJECT id="myID" height="150" width="300"
classid="http:bin/release/CSharpApplet.dll#CSharpApplet.MyApplet"
VIEWASTEXT>
</OBJECT>
<P>
<INPUT id="Button1" type="button" value="Reset by way of javascript"
name="Reset" onclick="return Button1_onclick()">
</body>
</html>
在 OBJECT
标签中,属性 classid
由路径(我使用了相对路径)和 DLL 的名称,加上命名空间和类名组成。
请注意,MyApplet
(UserControl) 有一个带有“Reset”标题的按钮,该按钮调用公共方法 MyMethodReset
,将进度条的值设置为零。 在 HTML 文件中,我还有一个按钮通过 JavaScript 调用相同的公共方法 MyMethodReset
!
备注
您必须在此源代码示例的 CSharpApplet 文件夹中创建一个 WebSharing。 然后通过例如:https:///CSharpApplet/MyApplet.htm 运行。
当然,客户端必须安装 .NET Framework。
根据您的用户控件将执行的操作以及运行位置(通过内联网/互联网),您可能需要通过在“管理工具”>“Microsoft .NET Framework 配置/向导”中进行适当设置来信任程序集。
就这样了,并为我的拙劣英语道歉!
修订历史
- 2005 年 2 月 20 日
英语改进 :P