Como desenhar formas com os controles OvalShape e RectangleShape (Visual Studio)
Você pode usar o controle OvalShape para desenhar círculos ou elipses em um formulário ou contêiner, no tempo de design e em tempo de execução. Você pode usar o controle RectangleShape para desenhar quadrados, retângulos ou retângulos com cantos arredondados em um formulário ou contêiner. Você também pode usar esse controle para desenhar formas em tempo de design e em tempo de execução.
Você pode personalizar a aparência de uma forma alterando a largura, a cor e o estilo de borda. O plano de fundo de uma forma é transparente por padrão. Você pode personalizar o plano de fundo para exibir uma cor sólida, um padrão, um preenchimento gradual (transição de uma cor para outra) ou uma imagem.
Para desenhar uma forma simples em tempo de design
Arraste o controle OvalShape ou RectangleShape da guia Visual Basic PowerPacks (para instalar, consulte Controles do Visual Basic Power Packs) na Caixa de Ferramentas para um formulário ou controle de contêiner.
Arraste o dimensionamento e mova as alças para dimensionar e posicionar a forma.
Você também pode dimensionar e posicionar a forma alterando as propriedades Size e Position na janela Propriedades.
Para criar um retângulo com cantos arredondados, selecione a propriedade CornerRadius na janela Propriedades e defini-a para um valor maior que 0.
Na janela Propriedades, opcionalmente defina propriedades adicionais para alterar a aparência da forma.
Para desenhar uma forma simples em tempo de execução
No menu Projeto, clique em Adicionar Referência.
Na caixa de diálogo Adicionar Referência, selecione Microsoft.VisualBasic.PowerPacks.VS e, em seguida, clique em OK.
No Editor de Código, adicione uma instrução Imports ou using na parte superior do módulo:
Imports Microsoft.VisualBasic.PowerPacks
using Microsoft.VisualBasic.PowerPacks;
Adicione o seguinte código em um procedimento do Event:
Dim canvas As New ShapeContainer ' To draw an oval, substitute ' OvalShape for RectangleShape. Dim theShape As New RectangleShape ' Set the form as the parent of the ShapeContainer. canvas.Parent = Me ' Set the ShapeContainer as the parent of the Shape. theShape.Parent = canvas ' Set the size of the shape. theShape.Size = New System.Drawing.Size(200, 300) ' Set the location of the shape. theShape.Location = New System.Drawing.Point(100, 100) ' To draw a rounded rectangle, add the following code: theShape.CornerRadius = 12
ShapeContainer canvas = new ShapeContainer(); // To draw an oval, substitute // OvalShape for RectangleShape. RectangleShape theShape = new RectangleShape(); // Set the form as the parent of the ShapeContainer. canvas.Parent = this; // Set the ShapeContainer as the parent of the Shape. theShape.Parent = canvas; // Set the size of the shape. theShape.Size = new System.Drawing.Size(200, 300); // Set the location of the shape. theShape.Location = new System.Drawing.Point(100, 100); // To draw a rounded rectangle, add the following code: theShape.CornerRadius = 12;
Personalizando Formas
Ao usar as configurações padrão, os controles OvalShape e RectangleShape são exibidos com uma borda preta sólida que é um pixel mais amplo e um plano de fundo transparente. Você pode alterar a largura, o estilo e a cor da borda definindo as propriedades. As propriedades adicionais permitem que você altere o plano de fundo de uma forma para uma cor sólida, um padrão, um preenchimento gradual ou uma imagem.
Antes de alterar o plano de fundo de uma forma, você deve saber como diversas propriedades interagem.
A configuração de propriedade BackColor não tem efeito, a menos que a propriedade BackStyle esteja definida como Opaque.
Se a propriedade FillStyle for definida como Solid, o FillColor substitui o BackColor.
Se a propriedade FillStyle for definida como um valor padrão, como Horizontal ou Vertical, o padrão será exibido no FillColor. O plano de fundo será exibido no BackColor, desde que a propriedade BackStyle seja definida como Opaque.
Para exibir um preenchimento gradual, a propriedade FillStyle deve estar configurada como Solid e a propriedade FillGradientStyle deve ser configurada com um valor diferente de None.
Configurando a propriedade BackgroundImage para uma imagem substitui todas as outras configurações de plano de fundo.
Para desenhar um círculo com uma borda personalizada
Arraste o controle OvalShape da guia Visual Basic PowerPacks na Caixa de Ferramentas para um controle de contêiner ou formulário.
Na janela Propriedades, na propriedade Size, defina Height e Width como valores iguais.
Defina a propriedade BorderColor com a cor desejada.
Defina a propriedade BorderStyle como qualquer valor diferente de Solid.
Defina o BorderWidth para o tamanho desejado, em pixels.
Para desenhar um círculo que tenha um preenchimento sólido
Arraste o controle OvalShape da guia Visual Basic PowerPacks na Caixa de Ferramentas para um controle de contêiner ou formulário.
Na janela Propriedades, na propriedade Size, defina Height e Width como valores iguais.
Defina a propriedade BackColor com a cor desejada.
Defina a propriedade BackStyle como Opaque.
Para desenhar um círculo que tenha um preenchimento padronizado
Arraste o controle OvalShape da guia Visual Basic PowerPacks na Caixa de Ferramentas para um controle de contêiner ou formulário.
Na janela Propriedades, na propriedade Size, defina Height e Width como valores iguais.
Defina a propriedade BackColor com a cor desejada para o plano de fundo.
Defina a propriedade BackStyle como Opaque.
Defina a propriedade FillColor com a cor desejada para o padrão.
Defina a propriedade FillStyle como qualquer valor diferente de Transparent ou Solid.
Para desenhar um círculo que tenha um preenchimento gradual
Arraste o controle OvalShape da guia Visual Basic PowerPacks na Caixa de Ferramentas para um controle de contêiner ou formulário.
Na janela Propriedades, na propriedade Size, defina Height e Width como valores iguais.
Defina a propriedade FillColor com a cor desejada para a cor inicial.
Defina a propriedade FillGradientColor com a cor desejada para a cor final.
Defina a propriedade FillGradientStyle como um valor diferente de None.
Para desenhar um círculo preenchido com uma imagem
Arraste o controle OvalShape da guia Visual Basic PowerPacks na Caixa de Ferramentas para um controle de contêiner ou formulário.
Na janela Propriedades, na propriedade Size, defina Height e Width como valores iguais.
Selecione a propriedade BackgroundImage e clique no botão reticências (...).
Na caixa de diálogo Selecionar Recurso, selecione uma imagem para exibir. Se nenhum recurso de imagem estiver listado, clique em Importar para navegar até o local de uma imagem.
Clique em OK para inserir a imagem.
Consulte também
Tarefas
Como desenhar linhas com o controle LineShape (Visual Studio)