Ver Mensaje Individual
  #2 (permalink)  
Antiguo 16/09/2005, 18:56
cards
 
Fecha de Ingreso: octubre-2003
Mensajes: 139
Antigüedad: 20 años, 7 meses
Puntos: 0
intenté evitar k dibujase en el evento Paint del picturebox, pq al ejecutar el programa keria k este picturebox estubiera vacio..... pero al final me he visto obligao a usarlo

Código:
bool pulsado;
private void Dibujar(Graphics Dibujo) 
{
	//Aqui es donde se hace el dibujo dependiendo de ciertos valores introducidos en un textbox
	//No he puesto el codigo xq era largo y no era necesario para mi pregunta

}
private void button1_Click(object sender, System.EventArgs e)
{
	pulsado = true;
	Graphics Dibujo = pictureBox1.CreateGraphics();
	Dibujar(Dibujo);
}
private void pictureBox1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
{
	if(pulsado) 
	{
		Graphics Dibujo = e.Graphics;
		Dibujar(Dibujo);
	}
}

k os parece, voy bien? pq funcionar funciona excepto x un problema... :(

kuando se ejecuta el programa no aperece nada (ya k la variable pulsado vale false). Al pulsar el boton aparece el dibujo. Al minimizar este dibujo dibujado x el evento Click del boton se destruye...... de manera k al maximizar o restaurar la ventana, el dibujo se vuelve a dibujar a causa del evento Paint del picturebox............. pero cuando le doy al boton despues de haber restaurado la ventana se me sobreponen los dos dibujos..... el creado por Paint y por Click........
(si no cambio el valor del textbox se ve bien... pq los dos dibujos son exactos y uno encima del otro no se nota... pero al cambiar el valor y hacer click se ve el nuevo dibujo (k es distinto) encima del dibujo del evento Paint) :(

de k manera puedo solucionar esto? como podria destruir el objeto Graphics del evento Paint al hacer Click?

o si no decidme alguna otra manera de hacer lo k pedia inicialmente

Última edición por cards; 17/09/2005 a las 07:55