문제
HWND가 내 자녀 통제 중 하나에 속하는지 어떻게 알 수 있습니까?
나는 다음과 같은 일을하고 싶다 :
if(this.Controls.Find(hWnd) != null) return false;
해결책
이에 대한 Win32 기능이 있습니다. ischild
다른 팁
재귀를 사용할 수있는 좋은 기회처럼 들립니다. 이 기능을 부모 수업에 추가하십시오.
private bool IsChild(System.Windows.Forms.Control control, System.IntPtr hWnd)
{
if(control.Handle == hWnd)
return(true);
foreach (System.Windows.Forms.Control child in control.Controls)
{
if (IsChild(child, hWnd))
return (true);
}
return (false);
}
그런 다음이 기능을 사용하여 지정된 HWND를 사용하여 모든 자식 컨트롤을 검색 할 수 있습니다.
this.IsChild(this, hWnd);
제휴하지 않습니다 StackOverflow