控件尺寸跟随窗口尺寸改变

 今天的调整中有需要控件的宽度跟随窗口尺寸自动调整的要求。经调试后可以使用以下语句:

    Private Sub quest_SizeChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.SizeChanged
        TabControl1.Width = Me.Width * 0.95
    End Sub

 

关键是在 sizechanged 事件中触发语句,然后直接提取窗口的WIDTH属性进行计算,然后赋值给控件的WIDTH属性就可以了。

 

 

----------------------------------------------------------------------------------------------------------------------------------------------------

 

以下是控件随窗口大小变化而改变大小和位置的一段语句:

    Private Sub retu_SizeChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.SizeChanged
        TabControl3.Width = Me.Width - 10
        DataGrid_retu_sale.Width = TabControl3.Width - 20
        TabControl3.Height = Me.Height - 40
        DataGrid_retu_sale.Height = Me.Height - 220
        DataGrid_retu_sale_detail.Width = Me.Width - 30
        DataGrid_retu_sale_detail.Height = (Me.Height - 50) * 115 / 350 + 70 * (Me.Height / 400 - 1)       '这里是计算控件高度与窗口高度的比例关系,这里的比例是随着窗口变大而有一个线性增加。
        Dim h, w As Integer
        h = DataGrid_retu_sale_detail.Height
        w = DataGrid_retu_sale_detail.Width
        Label3.Top = DataGrid_retu_sale_detail.Location.Y + h + 15     ‘.top 属性是控件到上边缘的距离,可以确定控件的Y坐标。
        Label2.Top = Label3.Top
        DataGrid_retu_quest_retu.Top = Label3.Top + 20
        DataGrid_retu_quest_retu.Height = h
        DataGrid_retu_quest_retu.Width = w


    End Sub

 

 

---------------------------------------------------------------------------------------------------------------------------------------------------

据说用ANCHOR,或 DOCK属性可以完美的实现相同的功能,我研究了一下但暂时还没啥心得,还不会用。就先用编程的方式来实现这个功能吧。以后对ANCHOR 或 DOCK有了新的心得了再补充吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值