2010-07-21 49 views

回答

7

如果你只是想知道它控制在一個父集合的前面,只要做到以下幾點:

private bool IsControlAtFront(Control control) 
{ 
    return control.Parent.Controls.GetChildIndex(control) == 0; 
} 

注意,Z-指數是最頂端控制,數字越高,下降就是它的層次結構。

此外,上述代碼目前僅適用於單個父級中的控件。它也需要遞歸檢查父母是否在z-index 0。

這適用於任何控制的工作表中的任意位置:

private bool IsControlAtFront(Control control) 
{ 
    while (control.Parent != null) 
    { 
     if (control.Parent.Controls.GetChildIndex(control) == 0) 
     { 
      control = control.Parent; 
      if (control.Parent == null) 
      { 
       return true; 
      } 
     } 
     else 
     { 
      return false; 
     } 
    } 
    return false; 
} 
相關問題