当前位置:编程学习 > C#/ASP.NET >>

一个panel的显示问题

在 Form1 中放一个 panel ,问一下,当Form1 窗口变大,或是最大化的时候 ,panel 始终大小不变,而且始终显示在窗口的中央?要设置哪几个参数? --------------------编程问答-------------------- 在Form的OnResize事件中,自己写代码控制panle的位置 --------------------编程问答-------------------- 能详细一点吗? --------------------编程问答-------------------- 把pannel的Anchor属性设为(top,left,right,bottom)即可 --------------------编程问答--------------------
引用 3 楼 renjin 的回复:
把pannel的Anchor属性设为(top,left,right,bottom)即可


按上面设置后,pannel的大小也会跟着变化,我是想实现这样:当Form1 窗口变大,或是最大化的时候 ,panel 始终大小不变,而且始终显示在窗口的中央? --------------------编程问答-------------------- 自己算一下就好了,比如一个窗体Form1中有个Panel1,
不管窗体怎么变化,Panel1的左上角的那个点都在窗体中心,
你将Panel1的中心点和Panel1的左上角对比就可以算出来

        private void Form1_Resize(object sender, EventArgs e)
        {
            this.panel1.Location = new Point(this.Width/2, this.Height/2);     
        }
--------------------编程问答--------------------
引用 4 楼 aop12a 的回复:
引用 3 楼 renjin 的回复:

把pannel的Anchor属性设为(top,left,right,bottom)即可


按上面设置后,pannel的大小也会跟着变化,我是想实现这样:当Form1 窗口变大,或是最大化的时候 ,panel 始终大小不变,而且始终显示在窗口的中央?


在OnResize事件中添加:
this.pannel.top=(this.heigh-this.pannel.heigh)/2;
this.pannel.left=(this.width-this.pannel.width)/2 --------------------编程问答-------------------- 得自己控制panle的位置... --------------------编程问答-------------------- 把pannel的Anchor属性设为top,left然后在Form1的OnResize 事件中添加如下代码
this.panel.Top=(this.Height-this.panel.Height)/2;
this.panel.Left=(this.Width-this.panel.Width)/2;
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,