C# 调整控件的Z顺序
当窗口或者容器控件中的控件在布局过程中发生重叠的时候,会出现层次性。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顺序的更多相关文章
- MFC编程入门之十(对话框:设置对话框控件的Tab顺序)
前面几节为大家演示了加法计算器程序完整的编写过程,本节主要讲对话框上控件的Tab顺序如何调整. 上一讲为"计算"按钮添加了消息处理函数后,加法计算器已经能够进行浮点数的加法运算.但 ...
- VS2010/MFC设置对话框控件的Tab顺序
设置对话框控件的Tab顺序 前面几节为大家演示了加法计算器程序完整的编写过程,本节主要讲对话框上控件的Tab顺序如何调整. 上一讲为“计算”按钮添加了消息处理函数后,加法计算器已经能够进行浮点数的加法 ...
- VS2010/MFC编程入门之十(对话框:设置对话框控件的Tab顺序)
前面几节鸡啄米为大家演示了加法计算器程序完整的编写过程,本节主要讲对话框上控件的Tab顺序如何调整. 上一讲为“计算”按钮添加了消息处理函数后,加法计算器已经能够进行浮点数的加法运算.但是还有个遗留的 ...
- delphi如何按照控件的左右顺序来遍历窗体中的每个控件 [问题点数:20 http://bbs.csdn.net/topics/380216822
delphi如何按照控件的左右顺序来遍历窗体中的每个控件delphi默认是按照控件添加进窗体的顺序来遍历的,有没有哪个属性能控制这个/?? 更多0分享到: 对我有用[0] 丢个板砖[0] 引用 | ...
- 在MFC中改变控件的TAB顺序
在MFC界面中,控件的TAB顺序如果乱了,不合理,可能会使界面出现意料之外的显示. 例如,在用Spin Control来对Edit Control内的值进行增减时,如果Edit Control.Spi ...
- Win2D 官方文章系列翻译 - 调整控件分辨率
本文为个人博客备份文章,原文地址: http://validvoid.net/win2d-choosing-control-resolution/ 本文旨在讲解如何配置 Win2D XAML 控件使用 ...
- VS 对话框控件的Tab顺序问题
我们先来直观的看看各个控件的Tab顺序吧.打开“Resource View”视图,然后在资源中找到对话框IDD_ADDITION_DIALOG,双击ID后中间客户区域出现其模板视图.在主菜单中选择“F ...
- VS2010-MFC(对话框:设置对话框控件的Tab顺序)
转自:http://www.jizhuomi.com/software/158.html 上一讲为“计算”按钮添加了消息处理函数后,加法计算器已经能够进行浮点数的加法运算.但是还有个遗留的小问题,就是 ...
- C# WinForm控件之Dock顺序调整
最近被.net winform中的控件布局搞困惑了,由于控件都是使用Dock方式的,操作起来也是比较方便,如果最大化,窗口大小调整等,都可以随着窗口大小的变化而变化. 但问题是,.net winfor ...
随机推荐
- SSLv3存在严重设计缺陷漏洞(CVE-2014-3566)
SSLv3存在严重设计缺陷漏洞(CVE-2014-3566) 1.引发问题的原因 SSLv3漏洞(CVE-2014-3566),该漏洞贯穿于所有的SSLv3版本中,利用该漏洞,黑客可以通过中间人攻击等 ...
- [转载]智能科普:VR、AR、MR的区别
智能科普:VR.AR.MR的区别 http://news.zol.com.cn/553/5534833.html news.zol.com.cn 2015-11-23 16:00 近日, 获得谷歌5亿 ...
- dedecms站内搜索页面调用最新文章
在页面中调用最新文章列表可以使新发布的文章更快被收录,如何在dedecms站内搜索页面调用最新文章呢? 1.登陆系统后台,进入“模板——模板管理——自定义宏标记”,点击“智能标记向导”进入智能标记生成 ...
- Python3学习之路~8.3 socket 服务端与客户端
通过8.2的实例1-6,我们可以总结出来,socket的服务端和客户端的一般建立步骤: 服务端 步骤:1创建实例,2绑定,3监听,4阻塞,5发送&接收数据,6关闭. #Author:Zheng ...
- LongAdder,AtomicIntegerFieldUpdater深入研究
从LongAdder看更高效的无锁实现 AtomicIntegerFieldUpdater字段原子更新类 div:not([id]){display:none;} --> ul{padding: ...
- Redis入门到高可用(一)——初识Redis
一.Redis是什么 * 开源 * 基于键值的存储服务系统 * 支持多种数据结构 * 高性能,功能丰富 二.Redis特性 ♦️ 概述 * 速度快 * 支持持久化 * 支持多种数据结构 * 支持多种编 ...
- 关于PHP将对象数据写入日志的问题
有时候在调试项目的时候,需要将一个对象或者对象的实例记录下来观察数据,如果用json_encode可能拿到的是空数据, 此时,改为使用 $data = print_r($data,1); 然后将 $d ...
- DLNg-CNN第一周
1.边缘检测示例 *表示卷积操作,标准表示.使用3*3的过滤器对其进行卷积,将3*3的覆盖在左侧上,并将运算结果相加:第二步将窗口向右移动一个单位,进行计算...横向之后再将窗格下移一个,进行循环.. ...
- cocos2d JS 艺术字特殊符号的显示
this.setSocreAtion(score, this.tfMoneyList[index],mun); //传入分数与对象,调用下面的函数 setSocreAtion : function ( ...
- python+appium+PyCharm==自动化测试APP环境
1.点击SDK下面的uiautomatorviewer 2.启动夜神3.启动adb--->在cmd adb -version adb connect 127.0.0.1:62001 这里的配置环 ...