Partilhar via


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 DataObjectdataChunk na Área de Transferência no formato specialFormatpersonalizado .

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 musicReaderde 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.

Consulte também