现在的位置: 首页 > 综合 > 正文

控件显示在原有控件上方 c#

2013年10月06日 ⁄ 综合 ⁄ 共 570字 ⁄ 字号 评论关闭

首先,理论:先添加的控件会在最上面,即当两个控件重叠时,先使用 this.controls.Add() 的控件放在最上面,可见次序是由index决定的。

我们可以使用可 BringToFront() 方法将控件直接置于最上方,使用 SendToBack() 方法将控件置于最下方。

当多个空间重叠时,我们还可以使用Controls的Remove和Add方法实现更改显示次序,如下:

void SetTop(object obj)//测试在一个面板上的控件
{
    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]);
    }
}

 

抱歉!评论已关闭.