C# SendToBack和BringToFront理解

如下的代码:
button2.Dock = DockStyle.Top;
button1.SendToBack();
button1.Dock = DockStyle.Top;
button3.Dock = DockStyle.Bottom;
运行后,3个button的顺序始终为:
button1
button2
button3
如果代码改为:
button2.Dock = DockStyle.Top;
button1.Dock = DockStyle.Top;
button3.Dock = DockStyle.Bottom;

运行后,3个button的顺序始终为:
button2
button1
button3

SendToBack() 将控件移到 Z 顺序的后面。
BringToFront()将控件移到 Z 顺序的前面。



Z顺序指的是:在Windows中桌面以及Form都是二维的,也就是X和Y轴,那么Z轴在哪里呢?
其实,Z轴就是垂直于桌面和Form的方向,这个方向上的排列就叫Z顺序。
Windows窗体的Z顺序就是桌面上所有窗口的在Z轴上的排列; 

而控件的Z顺序则是控件所在的父容器上的所有控件的在该父容器得的Z轴上的排列; 

.NET中,控件的Dock属性是将控件做X和Y方向上的排列。这个属性设置后,排列的先后顺序,是与控件被加载的顺序有关的

控件的SendToBack和BringToFront两个方法,就是用来改变Z方向上的排列顺序的,简单说就是控件或者Form在其父容器或桌面上的叠放层次。所以他们不是用来改变在X和Y方向上的排列的。

要想改变那三个Button的前后顺序,可以在解决方案管理器中找到它所在的窗体,然后点击窗体节点前面的+号,将节点展开,然后双击“你的窗体名称.Designer.cs”打开窗体设计文件来修改调整这三个按钮被Controls.Add(...)的先后顺序,即可达到改变Dock上下顺序目的。 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值