c#UserControl中表格,及UserControl调整大小

感慨一下,为公司内部做应用程序得把需求想在使用者前面,要不改程序改的你想死。如果没有git,我真的会死。


头痛的c#界面显示效果,结果记录一下。

1. 我想要的显示效果

原窗口显示

拉大窗口后,表格大小随窗体改变,两个按钮在窗体下方随动但大小不变

2.程序分两部分
(1)UserControl,其中有表格
(2) 窗体,有tabcontrol, tabcontrol中有两个panel,panel中放usercontrol
3.为了目标显示效果,设置的各组件参数(以下设置都能在属性窗口中设置)
(1)UserControl中DataGridView设置
  • 让表格的所有列自动填满表格空间,设置表格的autoSizeColumnsMode
paramDgv.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill;

如果不设效果如下

  • 让UserControl有滚动条。设置表格的anchor为top|left|right
paramDgv.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
            | System.Windows.Forms.AnchorStyles.Right)));

这里这样设只是我尝试以后的结果,勉强实现了需求。具体为啥我也不清楚。我尝试过(失败的尝试),效果如下,表格数据多的时候并不会出现滚动条

dgv.anchor = left|right|top|Bottom
userControl.autoscroll = true
panel.autoscroll = true
(2) 主窗体中设置
  • 为了让userConrol填充panel,设置usercontrol的dock属性
userControl.dock = DockStyle.Fill;

下图第一个userControl设置了dock,第二个没有设置,拉动窗口时显示对比效果如下

  • 为了让panel随窗体大小变化而变化,panel设置anckor属性为top|bottom|left|right,
Panel.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)));
  • 为了让tabcontrol随窗体大小变化而变化,设置anchor属性为top|bottom|left|right
tabcontrol.anchor = top|left|right|bottom
  • 为了让两个按钮在窗体下方随动,但大小不变,设置按键anchor属性
//左下按键anchor设为left|bottom
surebtn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
//右下按键anchor设为right|bottom
cancelBtn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值