문제

현재 무음 인쇄 모듈을 만들고 있습니다. 내가 사용하고있는 현재 제어는 제어 핸들이 이미 생성되었는지 확인하고 있습니다 (IsHandleCreated). 나는 운이 전혀 없으면서 이것을 속이기 위해 모든 것을했다.

화면에 표시하지 않고 컨트롤을위한 핸들을 어떻게 만들 수 있는지에 대한 아이디어가 있습니까?

도움이 되었습니까?

해결책

과부하를 시도하십시오 CreateParams 속성 게터. 그 안에서 WS_VISIBLE 깃발.

다른 팁

당신은 액세스해야합니다 핸들 속성 (결과를 더미 변수 또는 무언가로 넣습니다). 반사기를 봅니다. 그것은 창조를 처리합니다.

나는 다른 컨트롤과 같은 문제가 있었고 Control.CreateControl() 방법:

private void CheckForExistingHandle(Control control)
{
    if (!control.IsHandleCreated)
        control.CreateControl();
}

그러나 나는 그것이 인쇄 모듈에서 어떻게 작동하는지 모르겠습니다.

CreationParams의 ws_visible을 설정 하여이 성가신 손잡이 생성 문제를 해결했습니다. 제어의 CreationParams 속성을 무시하거나 적절한 CreateParams 인스턴스를 사용하여 CreateHandle 메소드를 호출 할 수 있습니다. 참조 링크

개인 메소드를 호출하는 CreateHandle은 작업을 수행합니다.

MethodInfo ch = frm.GetType().GetMethod("CreateHandle", BindingFlags.NonPublic | BindingFlags.Instance);
ch.Invoke(frm, new object[0]);
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top