none
C#能否编写类似MFC ActiveX控件那样的程序? RRS feed

  • 问题

  • 我之前用VC++编写一个IE使用的ActiveX控件,由于VC++不是本人的专长,所以在随后的更新维护中感觉比较吃力。我想,如果同样的功能能够用C#来做就好了,可是我在VisualStudio里面创建C#项目的时候,没看见有ActiveX控件的选择。难道C#不能做OCX控件吗?

    如果可以,还是希望高人指点一下。


    da jia hao!

    2012年8月7日 6:37

全部回复

  • 可以的。请参考下面这篇文章

    http://hi.baidu.com/keke3512/blog/item/9a2f784c0315d3c4d1c86a5b.html

    但是请注意,客户端是要安装.NET Framework的。

    不过,如果非要用C#写ActiveX的话,个人认为不如用Sliverlight实现,除了不用在客户端安装控件,SL的浏览器兼容性也好很多,另外,运行时也比.NET 框架小很多 :-)



    同心同德同舟楫,济人济事济天下。

    2012年8月7日 8:08
  • 请问Sliverlight是用什么编程语言的?

    哪里能找到Sliverlight的帮助资料?


    da jia hao!

    2012年8月7日 8:15
  • 我刚刚做了一些简单的测试,创建了一个“Windows控件库”的项目,然后做了一个HTML页面:

    <OBJECT id="HelloWorldControl1" height="300" width="300" classid="/WindowsFormsControlLibrary1.dll#WindowsFormsControlLibrary1.UserControl1" viewastext></OBJECT>

    在IE中打开的时候,显示一个“X”,然后我将站点添加到“可信站点”中,再将安全级别设置为最低,再重新打开页面,控件可以使用了。

    接着我对控件用有效地证书签名(证书是向正规机构购买的,之前一直用于给OCX控件签名,一直正常),签名成功之后,我将可信站点移除,可这个时候控件又变回一个“X”了。

    到底要怎么做,才可以让IE不做任何设置,在默认的安全设置下就能够使用这个控件?


    da jia hao!

    2012年8月7日 8:51
  • Hi liubin,

     

      cheerego的那个链接已经说了很清楚了,需要增加这个信任站点,否则你将不能使用这个OCX控件。


    orichisonic http://blog.csdn.net/orichisonic If a post answers your question, please click "Mark As Answer" on that post and "Mark as Helpful".


    2012年8月9日 5:09
  • 这样的东西没法商用的,我不知道在座的各位是否只是学生,或者只做学术研究的学者,不需要考虑将自己的产品卖给用户的问题。用户不会接受要在每台计算机上设置一下的产品的。

    话说回来,VC++开发的OCX的控件只要签名之后就能够在默认IE设置下直接使用,我觉得C#的DLL控件也应该可以实现同样效果,应该只是方法不对而已,还是请大家在看看了。


    da jia hao!

    2012年8月13日 2:47