첨부 실행 코드는 나눔고딕코딩 폰트를 사용합니다.
728x90
반응형
728x170
using System;
using System.Reflection;
using System.Windows.Forms;
using System.Windows.Forms.Integration;

#region WindowsFormsHost 구하기 - GetWindowsFormsHost(control)

/// <summary>
/// WindowsFormsHost 구하기
/// </summary>
/// <param name="control">WinForm 컨트롤</param>
/// <returns>WindowsFormsHost</returns>
public WindowsFormsHost GetWindowsFormsHost(System.Windows.Forms.Control control)
{
    System.Windows.Forms.Control parentControl = control.Parent;

    if(parentControl == null)
    {
        return null;
    }

    Assembly assembly            = typeof(WindowsFormsHost).Assembly;
    Type     winFormsAdapterType = assembly.GetType("System.Windows.Forms.Integration.WinFormsAdapter");

    object winFormsAdapterParent = winFormsAdapterType.InvokeMember
    (
        "_host",
        BindingFlags.NonPublic | BindingFlags.GetField | BindingFlags.Instance,
        null,
        parentControl,
        new object[] {}
    );

    WindowsFormsHost windowsFormsHost = winFormsAdapterParent as WindowsFormsHost;

    return windowsFormsHost;
}

#endregion
728x90
반응형
그리드형(광고전용)
Posted by icodebroker

댓글을 달아 주세요