类型:转载 责任编辑:asp.net 日期:2007/05/23
热门软件下载:
我想要实现textbox自动增大的效果,代码如下:
Private Sub Text1_Change()
Static p As Integer
Dim flag As Integer
flag = Int((TextWidth(Text1.Text) + 90) / Text1.Width)
Debug.Print flag & " " & p & " " & TextWidth(Text1.Text)
If flag > p Then
Text1.Visible = False
Text1.Height = 315 + 180 * flag
Text1.Visible = True
p = p + 1
Else
MsgBox "ddd"
Exit Sub
End If
End Sub
但是,实际上,它会出现第一行时有时无的情况,各位看一下。
网友回答:
假设一个字符的长度为5,你可以这么做:
Private Sub Text1_Change()
Static p As Integer
Dim flag As Integer
flag = Int((len(Text1.Text)*5 + 90) / Text1.Width)
Debug.Print flag & " " & p & " " & TextWidth(Text1.Text)
If flag > p Then
Text1.Visible = False
Text1.Height = 315 + 180 * flag
Text1.Visible = True
p = p + 1
Else
MsgBox "ddd"
Exit Sub
End If
End Sub
Option Explicit
Const w = 1000
Dim r As Integer, fw As Integer
Private Sub Form_Load()
r = TextHeight(Text1.FontSize * 20)
fw = Text1.FontSize * 10
Text1.Width = w
Text1.Height = r * 1.5
End Sub
Private Sub Text1_Change()
Text1.Height = ((-Int((-(TextWidth(Text1))) / (w - fw))) + 0.5) * r
End Sub