重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
很久沒有上這里了,今天看到了這個問題,嘗試做了一個;
創新互聯公司主營廣漢網站建設的網絡公司,主營網站建設方案,app軟件開發公司,廣漢h5微信平臺小程序開發搭建,廣漢網站營銷推廣歡迎廣漢等地區企業咨詢
本例以源文本框TextBox1全部文字作為拖放文字為例,實現拖放
1、向一個窗體中添加兩個文本框,分別名為TextBox1,TextBox2。注意:把TextBox2控件的AllowDrop屬性設置成True,這點不要遺漏。
2、完整的代碼如下:
Public Class Form1
Private MouseIsDown As Boolean = False
Private Sub TextBox1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TextBox1.MouseDown
'設置一個標志以顯示鼠標已按下。
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
'開始拖動(將TextBox1的文本內容作為拖放內容)。
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
'檢查正在被拖放的數據的格式。
If (e.Data.GetDataPresent(DataFormats.Text)) Then
'顯示復制光標(表示是拖放行為)。
e.Effect = DragDropEffects.Copy
Else
'顯示不放置光標(表示不是拖放行為)。
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
'粘貼文本(將拖放內容作為TextBox2的文本內容)。
TextBox2.Text = e.Data.GetData(DataFormats.Text)
End Sub
End Class
例如,把文件"E:\新建文件夾\a.txt"復制到剪貼板
CreateObject("Shell.Application").NameSpace("E:\新建文件夾").ParseName("a.txt").InvokeVerb?"復制(C)"
需要用到文本框的屬性:
SelectionStart
這個就是返回你當前光標所在文本框的位置,注意位置從0開始計算(就是光標在最左邊,返回0)。
然后,需要用到Len()函數,獲得文本框當前的字符數。
基本思路:
獲得:光標所在位置,SelectionStart
把原來的字符,按照 SelectionStart 值,分成前后兩部分,這樣把:
前部分與S 與后部分連接起來,賦值給文本框。
代碼如下:
TextBox1.Text = Microsoft.VisualBasic.Left(TextBox1.Text, TextBox1.SelectionStart) s Microsoft.VisualBasic.Right(TextBox1.Text, Len(TextBox1.Text) - TextBox1.SelectionStart)
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Clipboard.SetDataObject(TextBox1.Text)
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
TextBox1.Text = Clipboard.GetDataObject().GetData(DataFormats.Text, False)
End Sub
獲得文字直接用
Clipboard.GetText
獲得圖片可以用
Clipboard.GetData
設置文字直接用
Clipboard.SetText
設置圖片可以用
Clipboard.SetData
清空
Clipboard.Clear
檢測剪貼板中的內容
Clipboard.GetFormat(1)
返回True則文字
返回False則其他
不用剪切板可以這樣
Dim s
Private Sub Command1_Click()
s = Text1.Text
Text1.Text = ""
End Sub
Private Sub Command2_Click()
s = Text1.Text
End Sub
Private Sub Command3_Click()
Text1.Text = Text1.Text + s
End Sub
Private Sub Form_Load()
Command1.Caption = "剪切"
Command2.Caption = "復制"
Command3.Caption = "粘貼"
End Sub
新建一個控件測試窗體工程,添加一個DataGridView控件,添加前面我們做的擴展控件DataGridViewExt的引用,并在Form1.Designer.vb文件中中將
Friend WithEvents DataGridView1 As System.Windows.Forms.DataGridView
Me.DataGridView1 = New System.Windows.Forms.DataGridView
分別改為:
Friend WithEvents DataGridView1 As DataGridViewExt.DataGridViewExt
Me.DataGridView1 = New DataGridViewExt.DataGridViewExt
然后就可以從Excel,記事本等程序往DataGridView粘貼數據了.