VidU Posted April 28, 2008 Report Share Posted April 28, 2008 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 🙂 vi vi viduuuu! Link to comment Share on other sites More sharing options...
skm Posted April 29, 2008 Report Share Posted April 29, 2008 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 "There are two kinds of programmers. Those who write something to get the work done and those who want to write good code."João BrandãoWebsite e blog: http://jamab.blogspot.com/ Link to comment Share on other sites More sharing options...
VidU Posted April 29, 2008 Author Report Share Posted April 29, 2008 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. vi vi viduuuu! Link to comment Share on other sites More sharing options...
skm Posted April 30, 2008 Report Share Posted April 30, 2008 Existem varias formas de o executar. Tudo que implique um pain ou repaint no form. Um simples refresh ao form, etc. "There are two kinds of programmers. Those who write something to get the work done and those who want to write good code."João BrandãoWebsite e blog: http://jamab.blogspot.com/ Link to comment Share on other sites More sharing options...
VidU Posted April 30, 2008 Author Report Share Posted April 30, 2008 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 👍 vi vi viduuuu! Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now