当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > C# 把指定控件显示在最上面

ASP.NET
如何在命令行下编译一个asp.net项目
ADO 与ADO.NET
当VS.NET2003遇上VS.NET2005,WebService部署何去何从
昨日关注:逐步解说: 将Web Form网页国际化
在.NET下编写中文代码程序
防止同一个程序多次运行。 [VB.NET]
Visual C#设计多功能关机程序
什么是Web Service?
实现ListView控件的行间隔颜色的优化代码
失去信心?还是再度迷惘(二):Mono only is Mono,not .NET never
在Winform中发HTTP请求(调用WebService服务)
.NET中加密和解密的实现方法 3
notNET中加密和解密的实现方法
.NET中加密和解密的实现方法2
mshtml:javascript为HTML文件中的Select添加option
VS.NET解决方案的兼容问题
关于创建快捷方式的小结
使用 GDI+ 进行双缓冲绘图
如何用DataGrid实现根据日期判断是否显示New标志
昨日关注:C-omega vs ADO.net

ASP.NET 中的 C# 把指定控件显示在最上面


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 316 ::
收藏到网摘: n/a


昨天有个朋友问我,怎么样处理重叠的控件,让指定的控件在最上面.我就很抓狂,很奇怪为什么会有这种需求,但昨天上班忙,没时间.今天早上来就写了一段代码试试,如下: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);}