VB .NET - Cadê o Clipboard ?


Você já precisou usar o ClipBoard no VB .NET ? Cadê o ClipBoard no VB .NET ?

Bem se você nem sabe do que eu estou falando leia o artigo abaixo para refrescar a memória. Ele trata do assunto na versão 6 do Visual Basic :

Mas e no VB .NET como fazemos ?

Simples ,  dê uma olhada no namespace System.Windows.Forms.Clipboard.

A classe fornece métodos para colocar e recuperar dados na área de transferência do sistema (Clipboard). (Esta classe não pode ser herdada.)

Colocando dados no clipboard

Para colocar dados na área de transferência usamos o método - SetDataObject. Existem dois métodos sobrecarregados:

1 - Clipboard.SetDataObject Method (Object)  - Os dados colocados no clipboard serão excluídos quando a aplicação terminar.

2- Clipboard.SetDataObject Method (object, boolean)  -  onde temos os parâmetros

object -  representa os dados que desejamos colocar no clipboard
boolean  - Pode ser True ou False : True indica que os dados irão permanecer no clipboard depois que a aplicação terminar.

Obtendo dados do clipboard

Para obter dados do clipboard usamos o método GetDataObject. Os dados são retornado como um objeto que implementa a interface IDataObject pois o tipo de dados pode variar.  Usamos então os métodos definidos em IDataObject para extrair os dados do objeto. Se você não souber o formato dos dados a serem obtidos use o método GetFormats da interface IDataObject para obter uma lista de formatos ; a seguir use o método GetData e especifique o formato que sua aplicação quer usar.

Nota: Para uma lista de formatos pré-definidos para usar com o clipboard usamos a classe DataFormats. Abaixo uma relação dos novos tipos suportados pelo clipboard no VB .NET:

Bitmap define o formato Windows bitmap.
CommaSeparatedValue Define o formato CVS (separador virgula).
Dib Define o formato DIB - (Device Independent Bitmap (DIB) format.
Dif Define o formato - Windows Data Interchange Format (DIF).
EnhancedMetafile Define o formato  Windows enhanced metafile format.(WMF)
Html Define o texto com consistindo em dados HTML.
MetafilePict Define o formato  Windows metafile.
Palette define o formato Windows palette.
Riff Specifies the Resource Interchange File Format (RIFF) audio format, which Windows Forms does not directly use. This static (Shared in Visual Basic) field is read-only.
Rtf Define o formato RTF
StringFormat Define o formato Windows Forms Strings
Text Define o texto formato ANSI.
Tiff Define o formato TIIF (Tagged Image File Format).
UnicodeText Define o texto no formato Windows Unicode.

Vamos mostrar um exemplo prático. Inicie um novo projeto no Visual Studio .NET do tipo Windows Application  e Visual Basic Project ; no formulário padrão insira duas caixas de texto e dois botões de comando , conforme layout abaixo:

No evento click de cada um dos botões - Button1 e Button2  - insira o seguinte código:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click


' pega o texto selecionado em um textbox e põe no clipboard

If textBox1.SelectedText <> "" Then

    Clipboard.SetDataObject(textBox1.SelectedText)

Else

    TextBox1.Text = "Não nada selecionado na caixa de texto"

End If

End Sub
 


Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
 

' Declara um o jsfo para tratar os dados retornados do clipboard. e retorna os dados do clipboard

Dim iData As IDataObject = Clipboard.GetDataObject()
 

' Determina se os dados estão no formato que você quer usar

If iData.GetDataPresent(DataFormats.) Then

   ' Se estiverm então é so mostrar apos fazer uma conversão - casting.

   TextBox2.Text = CType(iData.GetData(DataFormats.Text), String)

Else

   ' Se não , avisa o usuario

   TextBox2.Text = "Não é possível retornar os dados do clipboard."

End If

End Sub

 

Até a próxima dica VB .NET
 

Veja os Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique e confira !

Quer migrar para o VB .NET ?

Quer aprender C# ??

 

             Gostou ?   Compartilhe no Facebook   Compartilhe no Twitter
 

Referências:


José Carlos Macoratti