新建一個控件測試窗體工程,添加一個DataGridView控件,添加前面我們做的擴(kuò)展控件DataGridViewExt的引用,并在Form1.Designer.vb文件中中將
創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比孟村網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式孟村網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋孟村地區(qū)。費(fèi)用合理售后完善,十多年實體公司更值得信賴。
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粘貼數(shù)據(jù)了.
例如,把文件"E:\新建文件夾\a.txt"復(fù)制到剪貼板
CreateObject("Shell.Application").NameSpace("E:\新建文件夾").ParseName("a.txt").InvokeVerb?"復(fù)制(C)"
我用一個比較AO的方法,嘻嘻,不過很有用我覺得。
SendKeys "^v"
不過這個代碼放到按鈕上有點(diǎn)問題,
Text1.SetFocus
Text1.SelStart = 0
Text1.SelLength = Len(Text1.Text)
SendKeys "^v"
這樣就OK了
關(guān)鍵在于你要給誰用就在SendKeys "^v"前,設(shè)置誰是焦點(diǎn),因為這個代碼是模擬鍵盤ctrl+v 。功能嘛,絕對和WINDOWS上的標(biāo)準(zhǔn)功能一樣。
很久沒有上這里了,今天看到了這個問題,嘗試做了一個;
本例以源文本框TextBox1全部文字作為拖放文字為例,實現(xiàn)拖放
1、向一個窗體中添加兩個文本框,分別名為TextBox1,TextBox2。注意:把TextBox2控件的AllowDrop屬性設(shè)置成True,這點(diǎn)不要遺漏。
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
'設(shè)置一個標(biāo)志以顯示鼠標(biāo)已按下。
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的文本內(nèi)容作為拖放內(nèi)容)。
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
'檢查正在被拖放的數(shù)據(jù)的格式。
If (e.Data.GetDataPresent(DataFormats.Text)) Then
'顯示復(fù)制光標(biāo)(表示是拖放行為)。
e.Effect = DragDropEffects.Copy
Else
'顯示不放置光標(biāo)(表示不是拖放行為)。
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
'粘貼文本(將拖放內(nèi)容作為TextBox2的文本內(nèi)容)。
TextBox2.Text = e.Data.GetData(DataFormats.Text)
End Sub
End Class
先把"Form1.vb 的副本"改成"Form2",然后右擊“Form2”---查看代碼---把類名改成“Form2”就可以了
Clipboard.SetText()是方法,必須給它傳遞參數(shù)才能將內(nèi)容保存在剪切板上。
Clipboard.SetText(TextBox1.Text);
SelectedText是只讀屬性,只能讀取文本框內(nèi)選定的內(nèi)容,而不能對其賦值。
Clipboard.GetText()用于獲得剪切板內(nèi)的內(nèi)容。如:
TextBox2.Text=Clipboard.GetText();