我试图根据列表框的当前大小设置列表框的列宽,我已将其设置为使用Listbox.Width
属性,但这似乎从未更新,它保持在设计模式下设置的值
甚至创建了一个带有以下调整大小事件的新表单:
Private Sub Form_Resize()
Text0 = CStr(Me.Width) & " - " & CStr(Rnd())
End Sub
宽度在我调整大小时保持不变(事件肯定会随着随机值的变化而触发)。
这是Access的已知问题吗?如果可以,是否有任何解决方法?
如何获取控件或表单的当前宽度?
答案 0 :(得分:1)
我发现周围杂乱无章(但我仍然愿意提出更好的建议)。
唯一改变大小的属性是Form.InsideWidth
。
在表单加载时,我保存列表框宽度和内部宽度之间的差:
Private Sub Form_Load()
p_ListToWindowDiff = Me.InsideWidth - Listbox1.Width
End Sub
然后在调整大小时,使用它来获取新的列表框宽度:
NewListWidth = Me.InsideWidth - p_ListToWindowDiff