Do .NET Winforms控件是否使用MSCOMCTL.OCX

本文关键字:MSCOMCTL OCX 是否 NET Winforms 控件 Do | 更新日期: 2023-09-27 18:36:50

我(终于!)正在将我们的VB6应用程序转换为.NET (C#)。我想使用 Winforms(我希望快速切换到 MVC 并在此之后使它们成为 Web 应用程序)。我们最近在Server 2012上的VB6应用程序遇到了一些严重的奇怪问题,我怀疑这可能是由MSCOMCTL引起的。OCX(实际上提示重写)。我对这个OCX了解得越多,我就越想远离它。我不确定如何确定.NET Winforms框架是否使用这些旧的ActiveX组件。我希望有人知道或可以指出我的方向来找出答案。我想避免 WPF 的混乱学习曲线。

Do .NET Winforms控件是否使用MSCOMCTL.OCX

No.

OCX 扩展名指示 ActiveX 控件。它们确实被经典的基于 COM 的 VB 系统(其最新、最好的版本是 VB 6)使用,但它们不被 .NET Framework 使用。WinForms 提供了自己不相关的公共控件实现。因此,相反,您将有一组全新的错误需要应对!

请注意,您可以将 ActiveX 控件与 WinForms 一起使用,如果您尝试使用某些自动转换向导将 VB 6 项目转换为 .NET 项目,这很可能是您最终无意中执行的操作。我不确定,这取决于您的向导的质量。一般来说,没有理由使用MSCOMCTL。OCX,因为所有常见控件都由 WinForms 提供,但是如果您的应用程序依赖于没有等效控件的其他 ActiveX 控件,则转换向导很可能会尝试重用它们。

(我不知道你在使用MSCOMCTL时遇到了什么问题。服务器 2012 上的 OCX。不应该有任何重大问题。VB 6应用程序在较新版本的Windows上继续运行良好。请确保运行的是累积更新汇总中的文件的最新版本。对一个简单的错误进行大规模重写对我来说似乎是矫枉过正。