Usando o LINQPAD para testar suas DLL

No post anterior eu mostrei como é possível criar um script em C# dentro da janela de consultas do programa LINQPAD para que você possa executar os códigos que estão em suas DLL´s do framework .NET.

Hoje eu quero demonstrar que estas DLL´s podem conter formulários Windows e estes serem executados pelo LINQPAD.

No seu projeto de “class library” adicione um Windows Form e inclua os controles configurando-os como na tabela abaixo:

Controle Propriedade Valor
Form Text Cálculo da área de um quadrilátero
  Size 366;171
  (Name) frmCalculoArea
Label Text Altura
TextBox (Name) txtAltura
Label Text Largura
TextBox (Name) txtLargura
Button (Name) btnCalcular
  Text Calcular…

Alinhe os controles para que fiquem com uma aparência aproximada à da figura:

image

Este formulário vai calcular a área de um quadrilátero multiplicando a altura pela largura. Dê um duplo clique no controle “button” e insira o código que é demonstrado abaixo:

   12 /// <summary>

   13 /// Faz o cálculo a partir dos dados digitados

   14 /// </summary>

   15 /// <param name="sender"></param>

   16 /// <param name="e"></param>

   17 private void button1_Click(object sender, EventArgs e)

   18 {

   19     // variáveis que recebem os valores digitados

   20     int Altura, Largura;

   21 

   22     if (int.TryParse(txtAltura.Text, out Altura) &&

   23         int.TryParse(txtLargura.Text, out Largura))

   24     {

   25         MessageBox.Show(string.Format(

   26             "A área do quadrado é {0}", Altura * Largura));

   27     }

   28     else

   29     {

   30         // não foi possível converter os dados.

   31         MessageBox.Show("Não foram digitados valores válidos.");

   32     }

   33 }

Compile o projeto para gerar a DLL.

No programa LINQPAD inclua o código abaixo:

    1 // cria uma instância do formulário

    2 Estudo.frmCalculoArea fmForm = new Estudo.frmCalculoArea();

    3 // exibe o formulário em uma janela modal

    4 fmForm.ShowDialog();

Este código cria uma instância para o formulário na linha 1. Observe que é necessário mostrar o caminho completo incluindo o namespace.

Na linha 3 exibimos a janela do formulário como modal. É somente deste jeito que podem ser exibidas as janelas dentro do LINQPAD.

Configure o tipo da consulta como “C# Statements” no campo “Language”.

image

O próximo passo é adicionar referências a sua DLL e a biblioteca “System.Windows.Forms” através da tecla F4.

image

Para acrescentar referência a sua DLL clique no botão “Browse…”. Para adicionar “System.Windows.Forms” clique no botão “Add…” e escolha a biblioteca na lista de itens disponíveis. Note que se você digitar o conteúdo da lista é filtrado de acordo com o texto digitado.

image

Finalizado este processo, execute o seu código pressionando F5. Veja o script em execução:

image

Enquanto o formulário estiver sendo executado o script está bloqueado sendo possível interromper a qualquer momento clicando no botão “Stop” .

image