如果要自動換行,設(shè)置label的寬度固定即可。如果手動換行,可以這樣:Label1.Caption = "這是標簽" vbCrlf "內(nèi)容換行"
目前創(chuàng)新互聯(lián)已為數(shù)千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬空間、網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計、海陵網(wǎng)站維護等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
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:調(diào)用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)只允許鍵入數(shù)字否則顯示錯誤
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If IsNumeric(TextBox1.Text) Nothing Then
'你要執(zhí)行的代碼
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,設(shè)置為可以自動換行,隱藏,然后有l(wèi)abel需要動態(tài)加載就拷貝這個界面上畫的label的屬性。
Label本身具備換行功能。
(1)在設(shè)計時,如果顯示內(nèi)容比較長,調(diào)整Label大小,顯示的內(nèi)容隨著Label的大小,自動調(diào)整并換行,如下圖所示
(2)運行時,使用vbCrlf 也可以實現(xiàn)Label換行
Option?Explicit
Private?Sub?Form_Load()
Label1.BackColor?=?H80FFFF
Label1.WordWrap?=?False
Label1.Caption?=?"第1行"?+?vbCrLf?+?"第2行"?+?vbCrLf?+?"第3行"
End?Sub
因為你沒有把 TextBox 的 Multiline 設(shè)為 True。
默認情況下,TextBox 是單行顯示的(Multiline=False),遇到換行符就會直接忽略而連接前面的字符。這樣所有的東西就在一行里面了。
要解決這個問題,將 Multiline 設(shè)置為 True,ScrollBars 最好設(shè)置為2或者3。順便說一下,記事本中的“自動換行”指的就是 ScrollBars=2 與 ScrollBars=1 的效果的區(qū)別。自己試試吧。
還可能有一種情況,就是網(wǎng)頁本身……比如某些軟件的 Manifest 就是寫在一行里面。反正符合 HTML/XML 標準的描述都可以這么做。有一些網(wǎng)站,如 Google,源碼是很擠的。這一點可以試試。據(jù) Google 說,這是為了節(jié)省用戶的網(wǎng)費……畢竟換行符也是算兩個字符的,而一般的計費方式是以流量為標準。
按回車當然會換行,只要你不再輸入英文字母,就意味你認可了自動提示的內(nèi)容,比方說按右括號,按空格,自動提示的當前選擇會自動到代碼,并出現(xiàn)括號和空格,回車也是同理。