• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

VidU

[Resolvido]C# Problema com evento PAINT

5 mensagens neste tópico

ora bem eu simplesmente queria saber o porque de o meu evento:

  private void Form1_Paint(object sender, PaintEventArgs e)
        {

        }

estar sempre em utilizaçao, imaginemos que eu peço para ele me desenhar uma linha, se eu fizer isso no meu evento ele vai estar constantemente a desenhar essa linha.

mas eu apenas quero que ele desenhe qd for chamado..

cumps :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O evento paint é chamado sempre que a uma acção no form. Por exemplo sempre que o rato lpassa por cima do form, etc.

Por isso é que aparentemente esta sempre a desenhar a linha.

Se queres que desenhe so uma vez coloca uma flag

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

sim era isso que eu desconhecia, quando é que ele era executado, se era por um tempo definido, ou entao qual a interaçao que necessitava ter..

Ele é executado sempre que o rato passa por cima, ou ha outras formas de o executar? sem o chamar directamente no codigo.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Existem varias formas de o executar.

Tudo que implique um pain ou repaint no form.

Um simples refresh ao form, etc.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

So mais uma duvida, exite alguma funçao predefinida que me permita desenhar a mesma imagem varias vezes no form, sem "substituir" a anterior? por exemplo:

public void Draww(Graphics g)
        {
          int  x=10;
          int y=10;

            SolidBrush castanho = new SolidBrush(Color.Brown);
           
            Rectangle rect = new Rectangle(x, y, 65, 70);

             g.FillRectangle(castanho, rect);
           
            
          }

Ao chamar esta funçao no evento Paint, ele vai me desenhar um rectangulo castanho nas coordenadas 10,10, mas se eu voltar a chamar a funçao e se x=20 e y=20, o rectangulo das coordenadas 10,10 ira desaparecer, e aparecer este novo nas cordenadas 20,20.

Portanto o que eu pretendia era uma funçao que me permitisse ter os dois rectangulos desenhados, ou seja, sempre que queira desenhar um rectangulo, ele acrescentar um rectangulo ao formulario inves de o substituir.

Cumps :thumbsup:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora