在創建多個控件后,有些控件會發生重疊,那么就需要在鼠標按下它時能顯示在最上層,下面通過先將按下操作的控件刪除然后再重建,就達到讓它顯示在最上層了
//控件按下 private void pictureBox_MouseDown(object sender, MouseEventArgs e) { SetMeTop(sender); } //設置控件在最上層 private void SetMeTop(object obj) { //原理:先添加的控件會在最上面,即可見次序是由index決定的. int index = this.Controls.GetChildIndex((Control)obj);//取得要置頂控件的index ArrayList AL = new ArrayList();//用來裝入控件的容器 for (int i = 0; i < index; i++)//把要置頂控件上面的控件都裝入容器 AL.Add(this.Controls[i]); for (int i = 0; i < AL.Count; i++) { //用一次刪除和一次添加操作,讓它上面的控件排到下面去. this.Controls.Remove((Control)AL[i]); this.Controls.Add((Control)AL[i]); } }