Veja como você pode desenhar formas, usar cores e renderizar imagens em um aplicativo WinForms.
O Windows Forms é uma estrutura que permite criar aplicativos de área de trabalho. Você pode clicar e arrastar componentes como botões para uma interface de usuário visual. Ele também ajuda você a criar manualmente várias formas em seu código.
Este artigo mostrará como adicionar linhas, formas e imagens ao seu aplicativo. Este tutorial usa o Visual Studio 2019 Community Edition para mostrar exemplos.
Quais são as classes internas usadas para desenhar gráficos?
O Windows Forms usa o linguagem de programação C#. Suas classes e métodos internos permitem que você desenhe várias formas em uma tela do Windows Form. Isso inclui as classes Graphics, Pen, Color e Brush.
Aula | Descrição |
---|---|
Gráficos | A classe Graphics permite desenhar formas e linhas na tela. Inclui métodos como:
|
Caneta | A classe Pen permite que você especifique as propriedades de uma ponta de 'caneta' que você pode usar para desenhar suas formas. Você pode especificar propriedades como cor, espessura ou estilo de traço. Os métodos incluem:
|
Cor | Um objeto de cor composto de valores R (vermelho), G (verde) e B (azul). Você precisará de um objeto de cor para muitos dos métodos internos que criam formas. |
SolidBrush, HatchBrush, TextureBrush | Essas classes de pincel derivam da interface "Brush". Essas classes permitem colorir espaços em branco na tela. Você também pode optar por preencher os espaços usando diferentes padrões ou texturas. Você pode especificar propriedades como a cor. |
Retângulo, Linha, Polígono, Elipse | Você pode criar objetos com base nessas formas e usá-los ao chamar métodos como DrawRectangle(). Em vez de passar x, y, largura e altura como argumentos, você pode optar por passar um objeto Rectangle existente. |
Para visualizar o código-fonte de um exemplo em execução do tutorial acima, visite o Repositório do GitHub. Você pode experimentar os seguintes exemplos assim que tiver criou um aplicativo Winforms.
Como adicionar uma pintura no manipulador de eventos de carregamento de formulário
Primeiro, adicione um manipulador de eventos para desenhar formas quando a tela for carregada.
- Adicione uma função Paint para o formulário.
private void Form1_Paint (remetente do objeto, PaintEventArgs e)
{
// O código vai aqui
} - Vá para a guia Design View.
- Na janela Propriedades, selecione o ícone de relâmpago para abrir a guia "Eventos".
- Em "Paint", em "Appearance", selecione a função Form1_Paint. Isso executará a função quando você executar o aplicativo.
Como desenhar linhas em uma tela de formulário do Windows
Você pode usar um método Color, Pen e DrawLine() para desenhar linhas em uma tela.
- Dentro da função Form1_Paint(), crie um objeto Color com a cor que você deseja que a linha tenha. Em seguida, crie um objeto Pen para desenhar a linha.
Cor preta = Cor. FromArgb (255, 0, 0, 0);
Caneta pretaCaneta = nova Caneta (preta); - O método DrawLine() da classe Graphics desenhará uma linha usando a caneta. Isso começará a desenhar uma linha de uma posição x, y para outra posição x, y.
e. Gráficos. DrawLine (caneta preta, 300, 200, 800, 200);
- Você pode modificar as propriedades do objeto de caneta para alterar sua largura, estilo de traço e tampa inicial ou final.
caneta preta. Largura = 20;
caneta preta. DashStyle = System. Desenho. Drawing2D.DashStyle. Traço;
caneta preta. StartCap = System. Desenho. Drawing2D.LineCap. ArrowÂncora;
e. Gráficos. DrawLine (caneta preta, 300, 200, 800, 200); - Pressione o botão de reprodução verde na parte superior do Visual Studio para ver as alterações.
Como desenhar formas como retângulos e círculos
Você pode usar as classes de formas para formas diferentes ou desenhar formas manualmente na tela.
- Crie um objeto Color and Pen como mostrado nas etapas anteriores. Em seguida, use o método DrawRectangle() para criar o retângulo. Os argumentos são as coordenadas xey para o canto superior esquerdo do retângulo, juntamente com sua largura e altura.
Cor vermelha = Cor. FromArgb (255, 255, 0, 0);
Caneta redPen = nova Caneta (vermelha);
caneta vermelha. Largura = 5;
e. Gráficos. DrawRectangle (caneta vermelha, 100, 100, 500, 200); - Você também pode criar um retângulo usando a classe Rectangle. Primeiro, crie um objeto Rectangle. Os argumentos também são as coordenadas xey para o canto superior esquerdo, largura e altura.
Retângulo retângulo = novo Retângulo (100, 350, 500, 200);
- Use a função DrawRectangle() para desenhar o retângulo. Em vez de passar x, y, largura e altura como antes, você pode usar o objeto Rectangle.
e. Gráficos. DrawRectangle (caneta vermelha, retângulo);
- Pressione o botão de reprodução verde na parte superior do Visual Studio para ver as alterações.
- Volte ao código para desenhar outras formas. Use a função DrawEllipse() para desenhar um círculo.
Quando você desenha um círculo, as coordenadas xey (x=400, y=150) referem-se ao canto superior esquerdo do círculo, não ao centro do círculo.Cor verde = Cor. FromArgb (255, 0, 255, 0);
Caneta verdeCaneta = nova Caneta (verde);
caneta verde. Largura = 5;
e. Gráficos. DrawEllipse (greenPen, 400, 150, 400, 400); - Para desenhar outras formas, como triângulos ou hexágonos, use o método DrawPolygon(). Aqui você pode especificar uma lista de coordenadas para representar os pontos da forma.
O método DrawPolygon() desenhará linhas entre os pontos especificados. Cor azul = Cor. FromArgb (255, 0, 0, 255);
Caneta azulCaneta = nova Caneta (azul);
caneta azul. Largura = 5;
PointF[] coordenadasForTriangle = new PointF[] {
novo PontoF(400, 150),
novo PontoF(300, 300),
novo PontoF(500, 300)
};
e. Gráficos. DrawPolygon (bluePen, coordenadasForTriangle);
Como usar a classe Brush para preencher formas com cores
Você pode usar os métodos FillRectangle(), FillElipses() ou FillTriangle() para criar formas com uma cor sólida.
- Primeiro, crie um objeto pincel.
Cor roxa = Cor. FromArgb (255, 128, 0, 0);
SolidBrush solidBrush = new SolidBrush (roxo); - Use os métodos FillRectangle(), FillElipses() ou FillTriangle(). Eles funcionam da mesma maneira que as funções de desenho acima, exceto que em vez de uma caneta, eles usam um objeto Pincel.
e. Gráficos. FillRectangle (solidBrush, 50, 50, 200, 250);
e. Gráficos. FillEllipse (solid Brush, 300, 50, 200, 200);
e. Gráficos. FillPolygon (solidBrush, new PointF[] { new PointF(700, 150), new PointF(600, 300), new PointF(800, 300) }); - Você também pode inserir um objeto de forma diretamente em vez de fornecer coordenadas.
Retângulo retângulo = novo Retângulo (100, 350, 500, 200);
e. Gráficos. FillRectangle (solidBrush, retângulo); - Use o HatchBrush para preencher a forma usando um estilo de preenchimento diferente, como um padrão horizontal ou vertical.
Cor azul = Cor. FromArgb (255, 0, 0, 255);
Cor verde = Cor. FromArgb (255, 0, 255, 0);
HatchBrush hatchBrush = new HatchBrush (HatchStyle. Horizontal, verde, azul);
e. Gráficos. FillRectangle (hatchBrush, 50, 50, 200, 250); - Você pode usar o TextureBrush para preencher uma forma usando uma imagem. Aqui, crie um bitmap apontando para um arquivo de imagem. Em vez de criar um pincel usando uma cor, crie-o usando a imagem.
Imagem bitmap = (Bitmap) Imagem. FromFile(@"C:\Users\Sharl\Desktop\flag.bmp", true);
TextureBrush textureBrush = new TextureBrush (imagem);
e. Gráficos. FillRectangle (textureBrush, 100, 100, 500, 400);
Como renderizar imagens no formulário
Para renderizar uma imagem, crie um objeto de controle PictureBox e adicione-o ao formulário.
- Crie um objeto de controle PictureBox usando um arquivo de imagem.
PictureBox imagem = new PictureBox();
foto. ImageLocation = @"C:\Users\Sharl\Desktop\flagLarge.bmp"; - Defina o tamanho da imagem e adicione-a ao formulário para que ela seja renderizada.
foto. SizeMode = PictureBoxSizeMode. Tamanho automático;
esta. Controles. Adicionar (imagem); - Pressione o botão verde iniciar na parte superior para visualizar a imagem.
Adicionando mais formas ao seu Windows Form
Agora você deve entender como adicionar linhas, formas e imagens ao seu formulário do Windows. Você pode combinar formas para criar novas formas. Você também pode brincar com as funções internas para criar formas mais complexas.
Vale a pena aprender ASP.NET em 2021?
Leia a seguir
Tópicos relacionados
- Programação
- Programação
Sobre o autor
Sharlene é Tech Writer na MUO e também trabalha em tempo integral em Desenvolvimento de Software. Ela é bacharel em TI e tem experiência anterior em Garantia de Qualidade e tutoria universitária. Sharlene adora jogar e tocar piano.
Assine a nossa newsletter
Junte-se à nossa newsletter para dicas de tecnologia, análises, e-books gratuitos e ofertas exclusivas!
Clique aqui para assinar