Estoy tratando de obtener de la línea # 1 a la línea # 2 en el siguiente código:Ni Invalidar() ni Refresh() invoca OnPaint()
using System;
using System.Windows.Forms;
namespace MyNameSpace
{
internal class MyTextBox : System.Windows.Forms.TextBox
{
protected override void OnEnabledChanged(EventArgs e)
{
base.OnEnabledChanged(e);
Invalidate(); // Line #1 - can get here
Refresh();
}
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
System.Diagnostics.Debugger.Break(); // Line #2 - can't get here
}
}
}
Sin embargo, parece que Neiter Invalidate() ni Refresh() hacen que se invoque OnPaint (PaintEventArgs e). Dos preguntas:
- ¿Por qué no funciona?
- Si no se puede arreglar: solo quiero invocar OnPaint (PaintEventArgs e) para acceder al objeto e.Graphics, ¿hay alguna otra forma de hacerlo?
¡Muchas gracias, SLC! Estoy haciendo de esto la respuesta aceptada. – user181813