문제
현재 무음 인쇄 모듈을 만들고 있습니다. 내가 사용하고있는 현재 제어는 제어 핸들이 이미 생성되었는지 확인하고 있습니다 (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]);
제휴하지 않습니다 StackOverflow