Ist das hWnd ein Kind von mir?
Frage
Wie kann ich feststellen, ob ein hWnd zu einem meiner geordneten Steuerelemente gehört?
Ich möchte etwas tun:
if(this.Controls.Find(hWnd) != null) return false;
Lösung
Es gibt eine Win32-Funktion dafür: IsChild
Andere Tipps
Klingt wie eine große Chance, die Rekursion zu verwenden. Fügen Sie diese Funktion, um Ihre Elternklasse:
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);
}
Sie können dann diese Funktion nutzen diese übergeordnete Klasse für alle untergeordneten Steuerelemente mit dem angegebenen hWnd suchen:
this.IsChild(this, hWnd);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow