剖析VB.NET TextBox控件
經(jīng)過長時間學(xué)習(xí)VB.NET TextBox控件,于是和大家分享一下,看完本文你肯定有不少收獲,希望本文能教會你更多東西。拖放操作的一個很簡單然而很有用的情形是從一個VB.NET TextBox控件復(fù)制文本到另一個VB.NET TextBox控件。當(dāng)然你可以只用鍵盤就能實現(xiàn)(CTRL + C and CTRL + V),然而拖放更簡單因為它僅需要鼠標(biāo)的移動就可以完成。
向一個窗體中添加兩個文本框,并把第二個VB.NET TextBox控件的AllowDrop屬性設(shè)置成True,添加如下代碼。
- Private MouseIsDown As Boolean = False
- Private Sub TextBox1_MouseDown(ByVal sender As Object, ByVal e As _
- System.Windows.Forms.MouseEventArgs) Handles TextBox1.MouseDown
- ' Set a flag to show that the mouse is down.
- MouseIsDown = True
- End Sub
- Private Sub TextBox1_MouseMove(ByVal sender As Object, ByVal e As _
- System.Windows.Forms.MouseEventArgs) Handles TextBox1.MouseMove
- If MouseIsDown Then
- ' Initiate dragging.
- TextBox1.DoDragDrop(TextBox1.Text, DragDropEffects.Copy)
- End If
- MouseIsDown = False
- End Sub
- Private Sub TextBox2_DragEnter(ByVal sender As Object, ByVal e As _
- System.Windows.Forms.DragEventArgs) Handles TextBox2.DragEnter
- ' Check the format of the data being dropped.
- If (e.Data.GetDataPresent(DataFormats.Text)) Then
- ' Display the copy cursor.
- e.Effect = DragDropEffects.Copy
- Else
- ' Display the no-drop cursor.
- e.Effect = DragDropEffects.None
- End If
- End Sub
- Private Sub TextBox2_DragDrop(ByVal sender As Object, ByVal e As _
- System.Windows.Forms.DragEventArgs) Handles TextBox2.DragDrop
- ' Paste the text.
- TextBox2.Text = e.Data.GetData(DataFormats.
- End Sub
在上面的例子中,MouseDown事件是用來判斷鼠標(biāo)是否按下的,MouseMove事件中用到了DoDragDrop方法。盡管你可以在 MouseDown事件中來初始化Drag,然而這么做會帶來出人意料之外的結(jié)果。在用戶點擊控件時,將顯示no-drag 指針。DoDragDrop方法有兩個參數(shù)
◆data,這個例子中代表的是第一個TextBox的Text屬性。
◆allowedEffects,這個例子中是只允許復(fù)制。
【編輯推薦】