窗口控件自适应窗口大小 窗口原大小为610*500,最大化后里面的所有控件都还是原来的大小,不好看。有没有什么方法能够让窗体里面的控件自适应大小?根据窗口大小而改变相应的比例? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在窗口的sizechange事件里修改控件的大小,控件的大小可以跟窗口的大小相关联,用条公式计算. Control.Anchor = ((System.Windows.Forms.AnchorStyles)(System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom|System.Windows.Forms.AnchorStyles.Left|System.Windows.Forms.AnchorStyles.Right));设置控件停靠方式,这样就会随着form改变 设置Anchor或者Dock可以做到随着Form Size变化控件size也变化。另外,更好的做法是采用FlowLayoutPanel或者TableLayoutPanel之类的Layout容器来做布局,这样所有的都可以自适应大小。 1、算是一种偷懒的方法:递归的按比例调整控件和子控件的大小。 在窗口大小不确定时可以有一定的自适应功能。 private void RecursiveAdjustLayout(Control root){ AdjustControl(root); //在AdjustControl()里按比例调整大小和控件的位置 for ( int i=0; i<root.Controls.Count; i++ ) { RecursiveAdjustLayout(root.Controls[i]); }}2、上面那个效果不是很好。适用于窗口大小不确定时的自适应。 对于确切知道的窗口大小如1024*768,先用form手动布局, 获得各控件位置后写一个AdjustControl()精确调整。 可以用splitcontainer阿,多用几个,把控件分开放到多个PAnel里,在设置各个控件的anchor就可以了,控件可以局部变化大小的 看你是什么控件了如果是Container类的用Dock.Fill就可以了,子空间填充父容器要是Button,TextBox一类的建议用Anchor调整 SizeChange事件的代码 Control.Width = this.Width - WIDTH_SUB; Control.Height = this.Height - HEIGHT_SUB;WIDTH_SUB和HEIGHT_SUB是两个常量表示控件与窗体宽度与高度的差 设置 Anchor 就可以了 一个摄像头使用实例,第一部分 怎样用命令编译C#程序? 关于站内搜索 请教各位老大,一条C#语句的含义 如何通过编程实现读写另一台机器上的共享目录 急!为何连接ORACLE数据库时总是出错? 怎样定位啊? 求RegularExpression的一用法 100分求指出下面代码的错误,如何更正,不够再加!! 急!高手请进啊,在线等啊! 新手的处女分送给有缘人 javascript操作服务器控件!!
设置控件停靠方式,这样就会随着form改变
在窗口大小不确定时可以有一定的自适应功能。
private void RecursiveAdjustLayout(Control root)
{
AdjustControl(root); //在AdjustControl()里按比例调整大小和控件的位置
for ( int i=0; i<root.Controls.Count; i++ )
{
RecursiveAdjustLayout(root.Controls[i]);
}
}
2、上面那个效果不是很好。适用于窗口大小不确定时的自适应。
对于确切知道的窗口大小如1024*768,先用form手动布局,
获得各控件位置后写一个AdjustControl()精确调整。
如果是Container类的用Dock.Fill就可以了,子空间填充父容器
要是Button,TextBox一类的建议用Anchor调整
Control.Height = this.Height - HEIGHT_SUB;WIDTH_SUB和HEIGHT_SUB是两个常量表示控件与窗体宽度与高度的差