Visual Basic 6.0 使用者可用的 TextBox 控制項
更新:2007 年 11 月
Visual Basic 6.0 的 TextBox 控制項在 Visual Basic 2008 中會以 Windows Form TextBox 控制項取代。有些屬性 (Property)、方法、事件及常數的名稱會改變,而且在一些情況下,行為方面也會有差異。
概念上的差異
在 Visual Basic 6.0 中,MaxLength 屬性決定可以輸入至 TextBox 控制項的最大字元數。如果您嘗試以程式設計方式插入文字,則文字會在 MaxLength 屬性指定的長度處截斷。
在 Visual Basic 2008 中,MaxLength 屬性的行為已不再適用於以程式設計方式加入的文字。若要複製 Visual Basic 6.0 行為,必須自行截斷字串。
在 Visual Basic 6.0 中,PasswordChar 屬性是 String 型別;而在 Visual Basic 2008 中則是 Char 型別。
此外,還有許多概念不同處,適用於所有控制項,包括資料繫結、字型處理、拖放作業、說明支援等各方面的差別。如需詳細資訊,請參閱 Visual Basic 6.0 使用者的 Windows Form 概念。
TextBox 控制項的程式碼變更
下列範例顯示 Visual Basic 6.0 與 Visual Basic 2008 之間的程式撰寫技巧差異。
在 TextBox 控制項中搜尋的程式碼變更
下列程式碼示範如何在 TextBox 控制項中尋找字串並強調顯示字串。
' Visual Basic 6.0
Private Sub Form_Load ()
Text1.Text = "Two of the peak human experiences"
Text1.Text = Text1.Text & " are good food and classical music."
End Sub
Private Sub Form_Click ()
Dim Search, Where
' Get search string from user.
Search = InputBox("Enter text to be found:")
' Find string in text.
Where = InStr(Text1.Text, Search)
If Where Then
Text1.SetFocus
Text1.SelStart = Where - 1
Text1.SelLength = Len(Search)
Else
MsgBox "String not found."
End If
End Sub
' Visual Basic
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles MyBase.Load
TextBox1.Text = "Two of the peak human experiences are "
TextBox1.Text = TextBox1.Text & "good food and classical music."
End Sub
Private Sub Form1_Click(ByVal sender As Object, ByVal e As _
System.EventArgs) Handles Me.Click
Dim Search As String
Dim Where As String
' Get search string from user.
Search = InputBox("Enter text to be found:")
' Find string in text.
Where = InStr(TextBox1.Text, Search)
If Where Then
TextBox1.Focus()
TextBox1.SelectionStart = Where - 1
TextBox1.SelectionLength = Len(Search)
Else
MsgBox("String not found.")
End If
End Sub
限制 TextBox 控制項中字元數的程式碼變更
下列程式碼將示範如何使用 MaxLength 屬性來指定最大的字元數。
' Visual Basic 6.0
Private Sub Form_Load()
Text1.MaxLength = 5
End Sub
Private Sub SetText()
' Only the first five characters will be displayed.
Text1.Text = "Hello World"
End Sub
' Visual Basic
Private Sub Form1_Load2(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles MyBase.Load
TextBox1.MaxLength = 5
End Sub
Private Sub SetText()
' Truncate the string to equal MaxLength.
TextBox1.Text = Strings.Left("Hello World", TextBox1.MaxLength)
End Sub
TextBox 控制項屬性、方法和事件的對等用法
下表列出 Visual Basic 6.0 的屬性、方法和事件,以及其在 Visual Basic 2008 的對等用法。但是不會列出具有相同名稱和行為的屬性、方法和事件。除非另外註明,否則所有 Visual Basic 2008 列舉型別 (Enumeration) 都會對應到 System.Windows.Forms 命名空間 (Namespace)。
此資料表提供解釋行為差異的主題之連結。若 Visual Basic 2008 中沒有直接的對等用法,則提供連結至替代的主題。
屬性
Visual Basic 6.0 |
Visual Basic 2008 對等用法 |
||
---|---|---|---|
Alignment |
|||
Appearance |
新實作,如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的 Appearance 和 BorderStyle 屬性。 |
||
BackColor |
|
||
Container |
|||
DataChanged DataField DataFormat DataMember DataSource |
新實作,如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的資料存取。 |
||
DragIcon DragMode |
新實作,如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的拖放動作。 |
||
Font FontBold FontItalic FontName FontSize FontStrikethrough FontUnderline |
|
||
ForeColor |
|
||
Height |
|
||
HelpContextID |
新實作,如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的說明支援。 |
||
HWnd |
|||
Index |
新實作,如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的控制項陣列。 |
||
Left |
|
||
LinkItem LinkMode LinkTimeOut LinkTopic |
新實作,如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的動態資料交換。 |
||
Locked |
|||
MouseIcon |
新實作,如需詳細資訊,請參閱無法設定自訂 MousePointer。 |
||
MousePointer |
如需常數的清單,請參閱 Visual Basic 6.0 使用者可用的 MousePointer。 |
||
OLEDragMode OLEDropMode |
新實作,如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的拖放動作。 |
||
Parent |
FindForm 方法。 |
||
SelLength |
|||
SelStart |
|||
SelText |
|||
ToolTipText |
ToolTip 元件。 如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的 ToolTip 支援。 |
||
Top |
|
||
WhatsThisHelpID |
新實作,如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的說明支援。 |
||
Width |
|
方法
Visual Basic 6.0 |
Visual Basic 2008 對等用法 |
||
---|---|---|---|
Drag |
新實作,如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的拖放動作。 |
||
LinkExecute LinkPoke LinkRequest LinkSend |
新實作,如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的動態資料交換。 |
||
Move |
|
||
OLEDrag |
新實作,如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的拖放動作。 |
||
SetFocus |
|||
ShowWhatsThis |
新實作,如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的說明支援。 |
||
ZOrder |
BringToFront 或 SendToBack 函式 |
事件
Visual Basic 6.0 |
Visual Basic 2008 對等用法 |
---|---|
Change |
|
DblClick |
|
DragDrop DragOver |
新實作,如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的拖放動作。 |
GotFocus |
|
LinkClose LinkError LinkNotify LinkOpen |
新實作,如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的動態資料交換。 |
LostFocus |
|
OLECompleteDrag OLEDragDrop OLEDragOver OLEGiveFeedback OLESetData OLEStartDrag |
新實作,如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的拖放動作。 |
Validate |
升級注意事項
當 Visual Basic 6.0 應用程式升級為 Visual Basic 2008 時,所有 TextBox 控制項都會升級為 Windows Form TextBox 控制項,而屬性、方法和事件則升級為其對等用法。如果行為可能會不同,則在程式碼中插入升級註解。