当窗口或者容器控件中的控件在布局过程中发生重叠的时候,会出现层次性。Z顺序较大的控件会遮挡Z顺序较小的控件,放在顶层的控件会挡住放在底层的控件。

1、编辑一个这样的窗口(使用Label控件)

2、添加Label控件的绘制边框事件

3、分别添加三个绘制边框事件,并在事件中添加如下代码(中间使用到了pen工具,使用pen工具使用后要释放pen)

private void label1_paint(object sender, PaintEventArgs e)
{
//绘制边框
Label lb = sender as Label;//将sender中符合Label应用类型或者为null的类型之间进行转换(只执行引用转换)
Pen pen = new Pen(Color.Yellow, 10f);//实例化pen工具
e.Graphics.DrawRectangle(pen ,new Rectangle (,,lb.Width,lb.Height ));//绘制边框
pen.Dispose();//释放pen对象
} private void label2_paint(object sender, PaintEventArgs e)
{
Label lb = sender as Label;//将sender中符合Label应用类型或者为null的类型之间进行转换(只执行引用转换)
Pen pen = new Pen(Color.Red, 10f);//实例化pen工具
e.Graphics.DrawRectangle(pen, new Rectangle(, , lb.Width, lb.Height));//绘制边框
pen.Dispose();//释放pen对象
} private void label3_paint(object sender, PaintEventArgs e)
{
Label lb = sender as Label;//将sender中符合Label应用类型或者为null的类型之间进行转换(只执行引用转换)
Pen pen = new Pen(Color.Blue , 10f);//实例化pen工具
e.Graphics.DrawRectangle(pen, new Rectangle(, , lb.Width, lb.Height));//绘制边框
pen.Dispose();//释放pen对象
}

4、添加鼠标单击事件

5、添加如下代码(三个控件的公用一个鼠标单击事件)添加一下代码

 private void OnlabelMouseClick(object sender, MouseEventArgs e)
{
Control c = sender as Control;
if (e.Button == System.Windows.Forms.MouseButtons.Left)//如果是单击鼠标左键
{
c.BringToFront();//增加z顺序
}
if (e.Button == System.Windows.Forms.MouseButtons.Right )//如果是单击鼠标右键
{
c.SendToBack();//增少z顺序
}
}

6、编译器生成代码(在Form1.Designer.cs)

注:在添加事件的时候可以手动通过代码添加也可以通过上面的方法添加事件。

通过上面两张图片我们可以看出来,通过鼠标的左单击改变了Top的这个Lebel框的叠放顺序。

C# 调整控件的Z顺序的更多相关文章

  1. MFC编程入门之十(对话框:设置对话框控件的Tab顺序)

    前面几节为大家演示了加法计算器程序完整的编写过程,本节主要讲对话框上控件的Tab顺序如何调整. 上一讲为"计算"按钮添加了消息处理函数后,加法计算器已经能够进行浮点数的加法运算.但 ...

  2. VS2010/MFC设置对话框控件的Tab顺序

    设置对话框控件的Tab顺序 前面几节为大家演示了加法计算器程序完整的编写过程,本节主要讲对话框上控件的Tab顺序如何调整. 上一讲为“计算”按钮添加了消息处理函数后,加法计算器已经能够进行浮点数的加法 ...

  3. VS2010/MFC编程入门之十(对话框:设置对话框控件的Tab顺序)

    前面几节鸡啄米为大家演示了加法计算器程序完整的编写过程,本节主要讲对话框上控件的Tab顺序如何调整. 上一讲为“计算”按钮添加了消息处理函数后,加法计算器已经能够进行浮点数的加法运算.但是还有个遗留的 ...

  4. delphi如何按照控件的左右顺序来遍历窗体中的每个控件 [问题点数:20 http://bbs.csdn.net/topics/380216822

    delphi如何按照控件的左右顺序来遍历窗体中的每个控件delphi默认是按照控件添加进窗体的顺序来遍历的,有没有哪个属性能控制这个/?? 更多0分享到:   对我有用[0] 丢个板砖[0] 引用 | ...

  5. 在MFC中改变控件的TAB顺序

    在MFC界面中,控件的TAB顺序如果乱了,不合理,可能会使界面出现意料之外的显示. 例如,在用Spin Control来对Edit Control内的值进行增减时,如果Edit Control.Spi ...

  6. Win2D 官方文章系列翻译 - 调整控件分辨率

    本文为个人博客备份文章,原文地址: http://validvoid.net/win2d-choosing-control-resolution/ 本文旨在讲解如何配置 Win2D XAML 控件使用 ...

  7. VS 对话框控件的Tab顺序问题

    我们先来直观的看看各个控件的Tab顺序吧.打开“Resource View”视图,然后在资源中找到对话框IDD_ADDITION_DIALOG,双击ID后中间客户区域出现其模板视图.在主菜单中选择“F ...

  8. VS2010-MFC(对话框:设置对话框控件的Tab顺序)

    转自:http://www.jizhuomi.com/software/158.html 上一讲为“计算”按钮添加了消息处理函数后,加法计算器已经能够进行浮点数的加法运算.但是还有个遗留的小问题,就是 ...

  9. C# WinForm控件之Dock顺序调整

    最近被.net winform中的控件布局搞困惑了,由于控件都是使用Dock方式的,操作起来也是比较方便,如果最大化,窗口大小调整等,都可以随着窗口大小的变化而变化. 但问题是,.net winfor ...

随机推荐

  1. 29-2-电容触摸屏控制芯片GT911

    1.接口说明 GT9 非单层多点系列(以下简称 GT9 系列) 与主机接口共有 6 PIN,分别为: VDD. GND. SCL.SDA. INT. RESET. 主控的 INT 口线需具有上升沿或下 ...

  2. 用laravel dingo/api创建简单的api

    1,修改.env配置文件添加 API_STANDARDS_TREE=vnd API_SUBTYPE=myapp API_PREFIX=api API_DOMAIN=null API_VERSION=v ...

  3. Sql server 函数--取值年月

    GetDate()是获取当前时间 1.例如获取年月类似 201706 需要改为语句: Select Datename(year,GetDate())+Datename(month,GetDate())

  4. python中的*arg和**kwargs

    arg对应多出来的位置参数,把它们解析成tuple;kwargs把关键字参数解析成dict. def example(pram): print(pram) def example2(param, *a ...

  5. golang 的 buffered channel 及 unbuffered channel

    The channel is divided into two categories: unbuffered and buffered. (1) Unbuffered channelFor unbuf ...

  6. (转)RBAC权限表的设计

    RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联.简单地说,一个用户拥有若干角色,每一个角色拥有若干权限.这样,就构造成“用户-角色- ...

  7. 【LeetCode每天一题】 Merge k Sorted Lists(合并K个有序链表)

    Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity. E ...

  8. 【LeetCode每天一题】Add Two Numbers(两链表相加)

    You are given two non-empty linked lists representing two non-negative integers. The digits are stor ...

  9. [LeetCode] 577. Employee Bonus_Easy tag: SQL

    Select all employee's name and bonus whose bonus is < 1000. Table:Employee +-------+--------+---- ...

  10. WinRAR 5.40 & 4.20 & 3.93 的注册码 - rarreg.key

    把下面的数据复制到“记事本”中,用文件名“rarreg.key”命名该文件,保存到WinRAR安装文件夹即完成注册. 以下4个Key随便选一个复制都可以. WinRAR 5.40 版Key,复制箭头中 ...