实例需求:用户窗体中有两个文本框,由于第二个文本框输入的内容可长可短,因此希望实现下图中的效果。
- 如果输入内容不超过文本框可显示长度,那么文本框采用初始宽度,固定不变
- 如果输入内容过长,超过文本框可显示长度,那么文本框应调整宽度,确保文字可以全部显示
示例代码如下。
Private Sub TextBox2_Change()
Dim iW: iW = Me.TextBox1.Width
With Me.TextBox2
.AutoSize = True
If .Width < iW Then
.AutoSize = False
.Width = iW
End If
End With
End Sub
【代码解析】
第1行代码获取第一个文本框的宽度,作为参考基准。
第4行代码设置第二个文本框为自适应宽度。
第5行代码判断第二个文本框宽度是否小于基准宽度。
如果条件成立,说明文字内容较少,第5行代码取消自适应宽度。
第7行代码恢复默认宽度设置。
看似非常复杂的需求,其实充分利用控件属性,实现起来代码并不复杂。