Introduction
Some time ago, I needed my web application to interact with a specific hardware in the computer, but I didn't want to write an ActiveX, I wanted to write it in a .NET language. So I made a search in the web and I found some examples that helped me on that. In this article I will use a UserControl as an applet on my .htm page.
This example of "applet" doesn't make anything relevant. It's only to show how to put a Windows Form's code in a web page and interact with its properties and methods.
How it works?
Everything is very simple, it isn�t a �black box�. I created a Class Library project, then I added a Windows Forms UserControl and drag-and-drop'ed some components. Then I added an HTML page in the same project and I changed the code to:
<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>
On the tag OBJECT
the property classid
is composed by the path (I used relative path) and name of the DLL, plus namespace and class name.
Note that MyApplet
(UserControl) has a button with the caption �Reset� that calls the MyMethodReset
public method, setting the value of the progress bar to zero. And on the HTML file, I have another button that calls the same public method MyMethodReset
by way of JavaScript!
Remarks
You must create a WebSharing at the folder CSharpApplet from this source code example. Then run by, for example: http://localhost/CSharpApplet/MyApplet.htm.
Of course, .NET Framework is to be installed on clients.
Depending of what your user control will do and where it will run (by intranet/Internet), it will be necessary to trust the assembly by making proper settings on Administrative Tools > Microsoft .NET Framework Configuration/Wizards.
That�s all and sorry for my bad English!
Revision history
- 20 February 2005
English improvements :P