• C#利用AxImp工具在WPF中使用OCX控件


    一、注册OCX并利用工具生成dll

    @echo off
    color a
    ::Failed
    REGSVR32 /S /I "MSCOMCTL.OCX"
    if exist %windir%SysWOW64 (
    .AxImp.exe "C:WindowsSysWOW64MSCOMCTL.ocx" /out:.MSCOMCTL64.dll  
    ) else (				 
    .AxImp.exe "C:WindowsSystem32MSCOMCTL.ocx" /out:.MSCOMCTL32.dll 
    )
    
    pause
    

    二、添加引用(OCX生成的dll)并编码使用

    项目引用:WindowsFormsIntegration.dll,System.Windows.Forms.dll

    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>
    

    或cs代码使用

     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)
                {
                }
            }
    

      

    所用工具:http://pan.baidu.com/s/1i4AIBxr

  • 相关阅读:
    P2045 方格取数加强版
    P2774 方格取数问题
    日记——OI历程
    6.30考试
    6.29考试
    数论...
    6.28数论测试
    洛谷P3802 小魔女帕琪
    hosts
    博客设置
  • 原文地址:https://www.cnblogs.com/wjshan0808/p/5817465.html
Copyright © 2020-2023  润新知