C#利用AxImp工具在WPF中使用OCX控件
Posted 篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#利用AxImp工具在WPF中使用OCX控件相关的知识,希望对你有一定的参考价值。 一、注册OCX并利用工具生成dll 二、添加引用(OCX生成的dll)并编码使用 项目引用:WindowsFormsIntegration.dll,System.Windows.Forms.dll 或cs代码使用 所用工具:http://pan.baidu.com/s/1i4AIBxr 以上是关于C#利用AxImp工具在WPF中使用OCX控件的主要内容,如果未能解决你的问题,请参考以下文章@echo off
color a
::Failed
REGSVR32 /S /I "MSCOMCTL.OCX"
if exist %windir%\SysWOW64 (
.\AxImp.exe "C:\Windows\SysWOW64\MSCOMCTL.ocx" /out:.\MSCOMCTL64.dll
) else (
.\AxImp.exe "C:\Windows\System32\MSCOMCTL.ocx" /out:.\MSCOMCTL32.dll
)
pause
xaml代码使用
<Window x:Class="wpf_ocx2dll.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
添加命名空间
xmlns:ms="clr-namespace:MSComctlLib;assembly=MSComctlLib"
Title="MainWindow" Height="350" Width="525">
<Grid>
<WindowsFormsHost x:Name="host">
<ElementHost>
<!--<ms:Button Caption="test" />-->
</ElementHost>
</WindowsFormsHost>
</Grid>
</Window>
MSComctlLib.IButton btn = new MSComctlLib.Button();
public MainWindow()
{
InitializeComponent();
try
{
((System.ComponentModel.ISupportInitialize)btn).BeginInit();
//host.Child =btn;
((System.ComponentModel.ISupportInitialize)btn).EndInit();
}
catch (Exception ex)
{
}
}