Copiar e colar com o C#

Data: 05/03/2009
Categoria: C#
Visualizações: 472
Comentários: Nenhum comentário
VN:F [1.7.8_1020]
Dê a sua nota:
Nota: 0.0/10 (0 Votos)
Copiar e colar com o C#

Com o C# este é o tipo de tarefa que não merece a classificação de problema, ou seja, ele já lhe fornece tudo pronto e fácil de usar.

Para valorizar mais o nosso exemplo, vou aproveitar e ensinar a utilizar “region”, que serve para organizar melhor nossos códigos no ambiente do Visual Studio.NET.

Primeiramente, construa um form conforme sugere a imagem a seguir:

Copiar e colar com o C#

Somente para confirmar, visto que na imagem não esta muito claro, o objeto branco a esquerda do form é um textbox com a propriedade “Multiline = True”. O objeto da direita é um picturebox.

Segundamente, se é que existe esta palavra, vamos começar a escrever nossos códigos. Para o botão “Copiar” da esquerda, que é o que vai trabalhar com textos, escreva o seguinte código no evento click:

private void button1_Click(object sender, System.EventArgs e)
{
// Coloca o conteúdo do textbox1 na área de transferência
Clipboard.SetDataObject(textBox1.Text,true);
}

Quando comentei mais acima que seria uma fácil implementação, fui extremamente sincero. Veja no código que a classe “clipboard” possue um método chamado SetDataObject que seria semanticamente similar a atribuir um valor a uma propriedade. Outra coisa que temos que concordar é que a classe clipboard é totalmente intuitiva, pense sinceramente qual nome você daria para uma classe com esta finalidade?

Entretanto para o botão colar, aparentemente é um pouco mais complicado, o que no fundo não é, pois apenas verificamos se existe algo no clipboard e depois aplicamos um “cast” para forçar a validação do tipo para o formato ANSI, com classe DataFormat, mais especificamente com o método “Text”. Vamos ao código:

private void button2_Click(object sender, System.EventArgs e)
{
// Verifica se existe algum texto na área de transferência
if(Clipboard.GetDataObject().GetDataPresent(DataFormats.Text))


// Coloca o texto dentro do textbox1
textBox1.Text = Clipboard.GetDataObject().
GetData(DataFormats.Text).ToString();


else
textBox1.Text  = “O Clipboard não contém texto.”;
}


Nesta altura de nosso programa já estamos habilitados a fazer testes, execute-o e verifique se esta funcionando corretamente (o que eu tenho certeza que sim).

As implementações dos botões copiar e colar para imagens são praticamente idênticos ao dos botões para texto, diferenciando apenas no código de colar que o “cast” será com o método Bitmap da classe DataFormat. Verifique abaixo:

Para o botão copiar.

private void button4_Click(object sender, System.EventArgs e)
{
// Coloca a imagem do picturebox1 na área de transferência
Clipboard.SetDataObject(pictureBox1.Image,true);
}

Para o botão colar.

private void button3_Click(object sender, System.EventArgs e)
{
// Verifica se existe alguma imagem na área de transferência
if(Clipboard.GetDataObject().GetDataPresent(DataFormats.Bitmap))

/* Importante: Para uma melhor visualização,
* configurar a propriedade SizeMode para StrechImage */
}

Caso você não tenha entendido, os caracteres “/* e */” correspondem a comentários multi-linhas.

Agora vamos comentar sobre organização dos seus códigos fontes. Uma das várias regras existentes sobre boas práticas de códigos fontes, é a regra de comentar explicitamente seu procedimento ou função e agrupa-los por similaridade de fluxo lógico. Na nossa prática, seria dizer que você deve escrever os códigos de copiar e colar textos juntos fisicamente e perceptivelmente separados dos códigos de copiar e colar imagens.

Sem dúvida que esta boa prática se aplica facilmente a qualquer ferramenta de programação, independentemente da linguagem. Porém a proposta do Visual Studio.Net vai muito além disto. Imagine você além de separar os códigos fontes, pode resumi-los visualmente da mesma forma que os documentos XML. Observem as imagens a seguir e visualmente será muito mais simples de compreender.

Até a próxima pessoal! :-)

Compartilhe:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Blogplay
  • blogmarks
  • Diigo
  • DZone
  • Gwar
  • LinkArena
  • LinkedIn
  • Linkter
  • MSN Reporter
  • Netvouz
  • PDF
  • RSS
  • Socialogs
  • Technorati
  • Twitter
  • Webnews.de
  • Yahoo! Bookmarks
  • Yahoo! Buzz
  • Yigg

Deixe um comentário

Top Acessos
Nero 9 9.4.26.0
15.589 Visualizações
Atualizar servidores Emule
8.827 Visualizações
Avast! Home Edition 4.8.1368
7.541 Visualizações
Guitar Rage 2.4.3
5.516 Visualizações
Broken Aero Vista Black
5.242 Visualizações
Cartão de visitas (CorelDraw)
4.808 Visualizações
NOD32 4.0.474
4.391 Visualizações
Cross Fire 1041
4.130 Visualizações
Ofertas imbatíveis!

© 2008 - 2010 Pontuaki - Downloads | Todos os direitos reservados | Política de privacidade

Proibida a reprodução total ou parcial sem prévia autorização.