连续窗体的控件位置设置一直是我头疼事情,因为要设置好久.
①首先用?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 |