连续窗体的空间位置自动调整

连续窗体的控件位置设置一直是我头疼事情,因为要设置好久.

①首先用?getFormAllCtlInfo("frm业务批量下单系统_Edit_Detail")函数在立即窗体里面获取各个标签的顺序

标签顺序
删除_Label
id_Label
生产部门_Label
QTY_Label
ITEM_CODE_Label
Customer_No_Label
DESCRIPTION_Label
中文描述_Label
Unit_Price_Label
折扣率_Label
净值_Label
TOTAL_Label
折扣额_Label
CBM_M3_Label
条形码_Label
交货日期_Label
审核人_Label
是否熏蒸_Label
是否商检_Label

②然后在word里面替换成一个数组字符串

"删除_Label", "id_Label", "生产部门_Label", "QTY_Label", "ITEM_CODE_Label", "Customer_No_Label", "DESCRIPTION_Label", "中文描述_Label", "Unit_Price_Label", "折扣率_Label", "净值_Label", "TOTAL_Label", "折扣额_Label", "CBM_M3_Label", "条形码_Label", "交货日期_Label", "审核人_Label", "是否熏蒸_Label", "是否商检_Label")

        ctlnames = Array("删除", "id", "生产部门", "QTY", "ITEM_CODE", "Customer_No", "DESCRIPTION", "中文描述", "Unit_Price", "折扣率", "净值", "TOTAL", "折扣额", "CBM_M3", "条形码", "交货日期", "审核人", "是否熏蒸", "是否商检"

③最后在窗体的resize事件里插入如下代码就OK了


连续窗体的控件位置自动设置
Private Sub Form_Resize()
    Dim lengthint As Integer
    lengthint = 0
    Me.删除_Label.Left = 0


    Dim ctlnames As Variant
    Dim ctlname As String
    Dim i As Integer


    ctlnames = Array("删除", "id", "生产部门", "QTY", "ITEM_CODE", "Customer_No", "DESCRIPTION", "中文描述", "Unit_Price", "折扣率", "净值", "TOTAL", "折扣额", "CBM_M3", "条形码", "交货日期", "审核人", "是否熏蒸", "是否商检")


    For i = 0 To UBound(ctlnames)
        If (i = 0) Then
            Me.Controls(ctlnames(i)).Left = 0
        Else:
            Me.Controls(ctlnames(i)).Left = _
                                        Me.Controls(ctlnames(i - 1)).Left + _
                                        Me.Controls(ctlnames(i - 1)).Width + lengthint
        End If
    Next i
    
    ctlnames = Array("删除_Label", "id_Label", "生产部门_Label", "QTY_Label", "ITEM_CODE_Label", "Customer_No_Label", "DESCRIPTION_Label", "中文描述_Label", "Unit_Price_Label", "折扣率_Label", "净值_Label", "TOTAL_Label", "折扣额_Label", "CBM_M3_Label", "条形码_Label", "交货日期_Label", "审核人_Label", "是否熏蒸_Label", "是否商检_Label")
        ctlnames = Array("删除", "id", "生产部门", "QTY", "ITEM_CODE", "Customer_No", "DESCRIPTION", "中文描述", "Unit_Price", "折扣率", "净值", "TOTAL", "折扣额", "CBM_M3", "条形码", "交货日期", "审核人", "是否熏蒸", "是否商检")


    For i = 0 To UBound(ctlnames)
        If (i = 0) Then
            Me.Controls(ctlnames(i)).Left = 0
        Else:
            Me.Controls(ctlnames(i)).Left = _
                                        Me.Controls(ctlnames(i - 1)).Left + _
                                        Me.Controls(ctlnames(i - 1)).Width + lengthint
        End If
    Next i
End Sub
   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值