共用方式為


在剪貼簿儲存和讀取資料 (Visual Basic)

剪貼簿可以用來存放資料,例如文字和影像。因為所有使用中處理序都共用剪貼簿,所以剪貼簿可用於在它們之間傳輸資料。My.Computer.Clipboard物件可讓您輕鬆地存取 [剪貼簿,以及讀取或寫入它。

讀取 [剪貼簿]

使用GetText方法來讀取 [剪貼簿] 中的文字。下列程式碼會讀取文字,並顯示於訊息方塊中。必須有文字儲存在剪貼簿,範例才能正確地執行。

MsgBox(My.Computer.Clipboard.GetText())

這個程式碼範例也可做為 IntelliSense 程式碼片段。在程式碼片段選擇器中,這個程式碼片段位於 [Windows Form 應用程式 > 剪貼簿] 中。如需詳細資訊,請參閱 程式碼片段

使用 GetImage 方法,從剪貼簿擷取影像。這個範例會先查看剪貼簿上是否有影像,然後再加以擷取並指派至 PictureBox1。

If My.Computer.Clipboard.ContainsImage() Then
  Dim grabpicture As System.Drawing.Image
  grabpicture = My.Computer.Clipboard.GetImage()
  picturebox1.Image = grabpicture
End If

這個程式碼範例也可做為 IntelliSense 程式碼片段。在程式碼片段選擇器中,這個程式碼片段位於 [Windows Form 應用程式 > 剪貼簿] 中。如需詳細資訊,請參閱 程式碼片段

即使在應用程式關閉之後,仍會保存放在剪貼簿上的項目。

判斷檔案儲存在剪貼簿中的型別

剪貼簿上的資料可以採用許多不同的形式,如文字、音訊檔或影像。為了判斷剪貼簿上的是哪種檔案,您可以使用諸如 ContainsAudioContainsFileDropListContainsImageContainsText 的方法。如果具有您要檢查的自訂格式,則可使用 ContainsData 方法。

使用 ContainsImage 函式,判斷剪貼簿上所含的資料是否為影像。下列程式碼會查看資料是否為影像並根據實際狀況提出報告。

If My.Computer.Clipboard.ContainsImage() Then
    MsgBox("Clipboard contains an image.")
Else
    MsgBox("Clipboard does not contain an image.")
End If

清除 [剪貼簿]

Clear 方法會清除剪貼簿。因為其他處理序 (Process) 會共用剪貼簿,所以清除剪貼簿可能會對那些處理序產生影響。

下列程式碼將示範如何使用 Clear 方法。

My.Computer.Clipboard.Clear()

寫入 [剪貼簿]

使用 SetText 方法,將文字寫入剪貼簿。下列程式碼會將字串 "This is a test string" 寫入剪貼簿。

My.Computer.Clipboard.SetText("This is a test string.")

SetText方法接受格式參數,其中包含一種TextDataFormat。下列程式碼會將字串 "This is a test string" 寫入剪貼簿成為 RTF 文字。

My.Computer.Clipboard.SetText("This is a test string.", 
System.Windows.Forms.TextDataFormat.Rtf)

使用 SetData 方法,將資料寫入剪貼簿。這個範例會以自訂格式 specialFormat,將 DataObjectdataChunk 寫入剪貼簿。

My.Computer.Clipboard.SetData("specialFormat", dataChunk)

使用 SetAudio 方法,將音訊資料寫入剪貼簿。這個範例會建立位元組陣列 musicReader、讀取檔案 cool.wav 並放入其中,然後將它寫入剪貼簿。

Dim musicReader = My.Computer.FileSystem.ReadAllBytes("cool.wav")
My.Computer.Clipboard.SetAudio(musicReader)
安全性注意事項安全性提示

因為其他使用者也可以存取剪貼簿,所以請勿使用剪貼簿存放敏感資訊,例如密碼或機密資料。

請參閱

工作

HOW TO:讀取 XML 檔案的物件資料 (C# 和 Visual Basic)

HOW TO:將物件資料寫入 XML 檔案 (C# 和 Visual Basic)

參考

ClipboardProxy

GetAudioStream

SetDataObject