程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> C# 把指定控件顯示在最上面

C# 把指定控件顯示在最上面

編輯:.NET實例教程
昨天有個朋友問我,怎麼樣處理重疊的控件,讓指定的控件在最上面.我就很抓狂,很奇怪為什麼會有這種需求,但昨天上班忙,沒時間.今天早上來就寫了一段代碼試試,如下:
SetMeTop是設置最上的函數,button1_Click是一個測試方法,經測試,這樣是可行的.
為什麼要用一個ArrryList而不是直接用index來刪除呢,是因為刪除上層的一個控件後,會導致下面控件的index都加1,會產生一些異常.
這只是一時亂寫的函數.也許.Net本身直接有方法來設置,我卻不知道.呵呵..
歡迎指教: [email protected]



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]);
}
}
private void button1_Click(object sender, System.EventArgs e)
{
SetMeTop(sender);
}
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved