c# winform 控件层次问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c# winform 控件层次问题相关的知识,希望对你有一定的参考价值。

现有个Label A和PictureBox B,B是边框,B(范围)大于A且A位置在B正中央,但是B覆盖了A。
现在想通过更改属性调整层次结构,使得A在上B在下,请问如何修改?(即调整哪条属性?怎么调整?)
谢谢!
更改了TabIndex仍任无法改变叠放层次

参考技术A Controls.Add(a);
Controls.Add(b); a在上

Controls.Add(b);
Controls.Add(a); b在上本回答被提问者采纳
参考技术B A始终都在B上面啊,没覆盖A。
至于TabIndex是键的顺序索引,这个属性是....怎么说呢,你运行后按几次Tab键就知道这个属性怎么用了。
参考技术C //当两个控件重叠时,置于最上方
panel1.BringToFront();
//将控件置于最下方;
panel2.SendToBack();
参考技术D 1.不显示的原因很简单,因为你在form_load中新建了一个form,你修改的是它的items。它根本没有显示出来,所以添加的你也看不到——仔细看你的代码,a中修改的form不是你所看见的form,而是你新建的一个并未显示的form2.至于不需要invoke,是因为新建的form并未显示,也就是没有创建句柄,此时肯定是不需要使用委托的(不涉及跨线程调用),更详细的解释,也许你需要对windows的工作原理有所了解。 第5个回答  2012-06-01 右键控件,选择置于顶层即可

C#关于winform窗口控件过多,显示慢的问题?

如果一个窗口含有5个页的选项卡,每个页上有20个控件,这样在窗体首次显示时就要加载100个控件,所以我想可不可以修改窗体的InitializeComponent()方法,首次打开窗体只生成第一页的20个控件,剩下的打开选项卡时再生成,这样就可以减少80个控件的生成,我想问修改InitializeComponent()的这种方法会不会有什么问题,或者有没有必要这样做?

参考技术A 首先,对于现在的电脑配置来说,完全没必要这么做.(内存,显卡足够)
对于你说的这样的窗口,只是一次加载,如果想用户体验好点,就和edwin5200
说的,可以在加载窗体时做个等待,比如QQ登录时加载等待一样.
改善用户体验的方法有很多.如果考虑的控件确实太多,造成加载缓慢,不妨考虑多窗体来实现.

以上是关于c# winform 控件层次问题的主要内容,如果未能解决你的问题,请参考以下文章

C# winform 控件大小布局适应窗口放大缩小?

C# winform动态添加控件获取值问题

c# 用户自定义控件的问题 winform

C# winform动态添加控件获取值问题

C# winform 控件拖动问题

c# winform 循环控件循环赋值问题?