c# groupbox大小_【已解决】C#中使得控件随着WinForm窗体的大小改变而自动变化

【问题】

想要使得一个C#中的一个窗体中的控件,DataGridView,自动随着WinForm窗体变化而变化,即:

中的显示数据的灰色部分,

另外还有上面那个“2.actions”,是个groupbox,也希望横向宽度随着窗体变化而变化。

目前是无法自动变化的:

【解决过程】

1.之前就知道,winform有些时间的,适合大小变化有关的,后来找到了:

也是试了试一些代码,比如:private void frmfiverrcomscraper_resizeend(object sender, eventargs e)

{

grbsearchresult.width = grbsearchresult.width + this.size.width - oldsearchresultgroupboxsize.width;

}

private void frmfiverrcomscraper_resizebegin(object sender, eventargs e)

{

oldsearchresultgroupboxsize = grbsearchresult.size;

}

private void frmfiverrcomscraper_sizechanged(object sender, eventargs e)

{

}

但是结果都不理想。

比如,对于resizeend和resizebegin组合使用,只能捕获到,手动拖动窗体变化的事件,而对于点击最大化按钮 的情况,无法捕获到,搞得需要另外再去实现最大化按钮被按了后,各个控件的大小再去调整,很是麻烦。

2.后来参考:

得知了那个Anchor,然后去试了试:

原先是没有右边和下面的:

设置了后:

然后去运行,当窗体改变时,果然右边(和下面)都会自动缩放大小的:

所以,再去设置其他的,对应的DatagridView和其父级的groubox,都设置为对应的部分的anchor值:

当改变窗体大小后,也可以自动缩放了:

【总结】

就是去设置窗体中的控件属性中的anchor,然后就可以达到所要的效果了:

当窗体大小改变时,自动缩放控件的大小,具体如何缩放,由你的anchor值决定。


版权声明:本文为weixin_34517026原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
THE END
< <上一篇
下一篇>>