争怎路由网:是一个主要分享无线路由器安装设置经验的网站,汇总WiFi常见问题的解决方法。

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

时间:2024/7/16作者:未知来源:争怎路由网人气:

昨天有个朋友问我,怎么样处理重叠的控件,让指定的控件在最上面.我就很抓狂,很奇怪为什么会有这种需求,但昨天上班忙,没时间.今天早上来就写了一段代码试试,如下:
SetMeTop是设置最上的函数,button1_Click是一个测试方法,经测试,这样是可行的.
为什么要用一个ArrryList而不是直接用index来删除呢,是因为删除上层的一个控件后,会导致下面控件的index都加1,会产生一些异常.
这只是一时乱写的函数.也许.net本身直接有方法来设置,我却不知道.呵呵..
欢迎指教: AppleDotnet@hotmail.com



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);
}


关键词:C# 把指定控件显示在最上面




Copyright © 2012-2018 争怎路由网(http://www.zhengzen.com) .All Rights Reserved 网站地图 友情链接

免责声明:本站资源均来自互联网收集 如有侵犯到您利益的地方请及时联系管理删除,敬请见谅!

QQ:1006262270   邮箱:kfyvi376850063@126.com   手机版