在asp.net项目中使用winform窗口

在.NET之前,我们如果想访问客户端的资源,最常见的方式就是在网页里面嵌入ACTIVEX控件。现在有了.NET,我们可以将WINFORM控件嵌入在网页里面,从而直接控制客户端,不过前提是客户端必须安装了.NET库。这有点像JAVA 的APPLET(笔者对JAVA不是很熟,如有问题欢迎指正)。由于需要.NET的运行库,所以使用起来有很多限制,不过如果是企业内部系统,.NET库可以做为客户端部署的一部分,这样可以利用.NET编程的优势,大大简化开发过程。

本文就从最简单的例子入手,讲解具体的开发过程。

一 新建windows控件库项目,姑且取名为Liuw.Net.WindowsControlLibrary

二 添加windows控件HelloWorld

三 添加按钮及事件

        这里我们只添加一个按钮,点击按钮就弹出提示框 "Welcome To Liuwu.net "

      以下是部分代码

namespace Liuw.Net.WindowsControlLibrary
{
    public partial class HelloWorld : UserControl
    {
        public HelloWorld()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            MessageBox.Show("Welcome to Liuwu.Net");
        }
    }
}

四 编译该项目,得到Dll文件 Liuw.Net.WindowsControlLibrary.dll

五 新建网站,将刚才的Dll文件拷贝到根目录下,并添加页面 WinformCtlTest.aspx

六 在aspx页面添加以下代码

<object id="ctl" classid="Liuw.Net.WindowsControlLibrary.dll#

Liuw.Net.WindowsControlLibrary.HelloWorld"></object>

这里有点像ActiveX控件的调用,classid的命名规则是 "dll文件名#命名空间名.类名",中间并没有换行,我这里只是为了方便显示。

七 运行该页面,就会看到刚才编写的控件了,点击按钮,则弹出提示框 "Welcome To Liuwu.net "

怎么样,是不是觉得太简单了,别急,下一篇会举个稍微复杂的例子

posted @   郑文亮  阅读(1353)  评论(2编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· [AI/GPT/综述] AI Agent的设计模式综述
点击右上角即可分享
微信分享提示