zoukankan      html  css  js  c++  java
  • 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 (0,0,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(0, 0, 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(0, 0, 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框的叠放顺序。

  • 相关阅读:
    php的函数
    php字符串
    PDA触屏的终极解决办法
    数字万用表 选购指南
    WindowsXp Sp2 英文版
    访问局域网某台电脑时提示:无法访问,你可能没有权限使用网络资源.的解决办法
    中华人民共和国国家标准职工工伤与职业病致残程度鉴定
    删除所有设备驱动的批处理
    如何制作Win XP操作系统映像文件
    使用批处理和devcon.exe来控制 Windows 的设备
  • 原文地址:https://www.cnblogs.com/hjxzjp/p/7681713.html
Copyright © 2011-2022 走看看