2009-05-07 11 views

答えて

3

Win32関数はこのためにあります:IsChild

2

が再帰を使用するための大きなチャンスのような音:

は、私のような何かをしたいです。あなたの親クラスにこの機能を追加します。

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); 
+0

ありがとうございます!私は、子コントロールよりも速い方法があることを望んでいました(特に、hWndが子の子に属している場合:)) –

関連する問題