十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
如果要自动换行,设置label的宽度固定即可。如果手动换行,可以这样:Label1.Caption = "这是标签" vbCrlf "内容换行"
目前创新互联已为数千家的企业提供了网站建设、域名、虚拟空间、网站托管、企业网站设计、海陵网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
1)使用focus
例子:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
TextBox1.Focus()
End Sub
2)上下键换行
例子1:调用tab换行(可使用tab index 自定义顺序)
Private Sub TextBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
If e.KeyCode = Keys.Down Then
SendKeys.Send("{TAB}")
End If
End Sub
例子2:自定义换行
Private Sub TextBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
If e.KeyCode = Keys.Down Then
TextBox2.Focus()
End If
End Sub
3)只允许键入数字否则显示错误
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If IsNumeric(TextBox1.Text) Nothing Then
'你要执行的代码
Else
MsgBox("错误")
End If
End Sub
4)禁用输入字母
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
Dim keyChar = e.KeyChar
If Char.IsControl(keyChar) Then
ElseIf Char.IsDigit(keyChar) OrElse keyChar = "."c Then
Dim text = Me.TextBox1.Text
Dim selectionStart = Me.TextBox1.SelectionStart
Dim selectionLength = Me.TextBox1.SelectionLength
text = text.Substring(0, selectionStart) keyChar text.Substring(selectionStart + selectionLength)
If Integer.TryParse(text, New Integer) AndAlso text.Length 16 Then
e.Handled = True
ElseIf Double.TryParse(text, New Double) AndAlso text.IndexOf("."c) text.Length - 3 Then
e.Handled = True
End If
Else
e.Handled = True
End If
End Sub
希望可以帮到你 =)
提供一点思路仅供参考:在界面画一个label,设置为可以自动换行,隐藏,然后有label需要动态加载就拷贝这个界面上画的label的属性。
Label本身具备换行功能。
(1)在设计时,如果显示内容比较长,调整Label大小,显示的内容随着Label的大小,自动调整并换行,如下图所示
(2)运行时,使用vbCrlf 也可以实现Label换行
Option Explicit
Private Sub Form_Load()
Label1.BackColor = H80FFFF
Label1.WordWrap = False
Label1.Caption = "第1行" + vbCrLf + "第2行" + vbCrLf + "第3行"
End Sub
因为你没有把 TextBox 的 Multiline 设为 True。
默认情况下,TextBox 是单行显示的(Multiline=False),遇到换行符就会直接忽略而连接前面的字符。这样所有的东西就在一行里面了。
要解决这个问题,将 Multiline 设置为 True,ScrollBars 最好设置为2或者3。顺便说一下,记事本中的“自动换行”指的就是 ScrollBars=2 与 ScrollBars=1 的效果的区别。自己试试吧。
还可能有一种情况,就是网页本身……比如某些软件的 Manifest 就是写在一行里面。反正符合 HTML/XML 标准的描述都可以这么做。有一些网站,如 Google,源码是很挤的。这一点可以试试。据 Google 说,这是为了节省用户的网费……毕竟换行符也是算两个字符的,而一般的计费方式是以流量为标准。
按回车当然会换行,只要你不再输入英文字母,就意味你认可了自动提示的内容,比方说按右括号,按空格,自动提示的当前选择会自动到代码,并出现括号和空格,回车也是同理。