Armazenando dados e lendo a partir da área de transferência (Visual Basic)
A área de transferência pode ser usada para armazenar dados, como texto e imagens. Como a Área de Transferência é compartilhada por todos os processos ativos, ela pode ser usada para transferir dados entre eles. O My.Computer.Clipboard
objeto permite que você acesse facilmente a área de transferência e leia e escreva nela.
Leitura da Área de Transferência
Use o GetText método para ler o texto na área de transferência. O código a seguir lê o texto e o exibe em uma caixa de mensagem. Deve haver texto armazenado na área de transferência para que o exemplo seja executado corretamente.
MsgBox(My.Computer.Clipboard.GetText())
Este exemplo de código também está disponível como um trecho de código IntelliSense. No seletor de trechos de código, ele está localizado na Área de Transferência de Aplicativos > do Windows Forms. Para obter mais informações, consulte Trechos de código.
Use o GetImage método para recuperar uma imagem da área de transferência. Este exemplo verifica se há uma imagem na Área de Transferência antes de recuperá-la e atribuí-la ao PictureBox1
.
If My.Computer.Clipboard.ContainsImage() Then
Dim grabpicture As System.Drawing.Image
grabpicture = My.Computer.Clipboard.GetImage()
picturebox1.Image = grabpicture
End If
Este exemplo de código também está disponível como um trecho de código IntelliSense. No seletor de trechos de código, ele está localizado na Área de Transferência de Aplicativos > do Windows Forms. Para obter mais informações, consulte Trechos de código.
Os itens colocados na Área de Transferência persistirão mesmo após o encerramento do aplicativo.
Determinando o tipo de arquivo armazenado na Área de Transferência
Os dados na Área de Transferência podem assumir várias formas diferentes, como texto, um arquivo de áudio ou uma imagem. Para determinar que tipo de arquivo está na área de transferência, você pode usar métodos como ContainsAudio, ContainsFileDropList, ContainsImagee ContainsText. O ContainsData método pode ser usado se você tiver um formato personalizado que deseja verificar.
Use a ContainsImage
função para determinar se os dados contidos na área de transferência são uma imagem. O código a seguir verifica se os dados são uma imagem e relata de acordo.
If My.Computer.Clipboard.ContainsImage() Then
MsgBox("Clipboard contains an image.")
Else
MsgBox("Clipboard does not contain an image.")
End If
Limpar a Área de Transferência
O Clear método limpa a área de transferência. Como a Área de Transferência é compartilhada por outros processos, limpá-la pode ter um impacto nesses processos.
O código a seguir mostra como usar o Clear
método.
My.Computer.Clipboard.Clear()
Escrever para a Área de Transferência
Use o SetText método para gravar texto na área de transferência. O código a seguir grava a cadeia de caracteres "This is a test string" na área de transferência.
My.Computer.Clipboard.SetText("This is a test string.")
O SetText
método pode aceitar um parâmetro format que contém um tipo de TextDataFormat. O código a seguir grava a cadeia de caracteres "This is a test string" na área de transferência como texto RTF.
My.Computer.Clipboard.SetText("This is a test string.",
System.Windows.Forms.TextDataFormat.Rtf)
Use o SetData método para gravar dados na área de transferência. Este exemplo grava o DataObject
dataChunk
na Área de Transferência no formato specialFormat
personalizado .
My.Computer.Clipboard.SetData("specialFormat", dataChunk)
Use o SetAudio método para gravar dados de áudio na área de transferência. Este exemplo cria a matriz musicReader
de bytes, lê o arquivo cool.wav
nela e grava-o na Área de Transferência.
Dim musicReader = My.Computer.FileSystem.ReadAllBytes("cool.wav")
My.Computer.Clipboard.SetAudio(musicReader)
Importante
Como a Área de Transferência pode ser acessada por outros usuários, não a use para armazenar informações confidenciais, como senhas ou dados confidenciais.