Un gallinfante de regalo a quien sepa la respuesta

Esta entrada va a ser muy cortita. Es una pregunta dejada al aire, por si alguien la quiere recoger…


Existe la estructura RectangleF, que es un rectángulo con sus coordenadas marcadas en coma flotante.


Existen infinitud de métodos que permiten dibujar y operar con dichas estructuras como elementos de delimitación (DrawString, DrawImage, DrawEllipse, etc, etc…)


Entonces, ¿por qué no existe un método Invalidate que nos acepte un RectangleF?


Evidentemente existe un workaround, y es crear una región a partir de un RectangleF pero ya tenemos que trastear con asignaciones de memoria dentro de lugares en los que cuanto más rápido vayamos, mejor.



miControl.Invalidate(new Region(miRectangleF));

7 comentarios sobre “Un gallinfante de regalo a quien sepa la respuesta”

  1. Quiero un gallifante… a ver si hay suerte…

    La respuesta es porque la función InvalidateRect del API solo soporta parametrós LONG, y puestos a tratar con enteros pues enteros para todo…

    La sobrecarga que toma una Region, y que te sirve para el truqui que nos cuentas, llamará a InvalidateRng.

    ¿Qué dice el jurado?

  2. Vale, tuyo es: http://images.google.co.uk/images?q=gallifante. Tienes para elegir.

    Pero ya que en muchos otros sitios se puede trabajar con elementos en coma flotante, ya podrían haber permitido también invalidar con los mismos rectángulos con los que se está pintando.

    En fin, que tu apreciación me parece justa, pero deberían ser un poco más coherentes (ya que han creado el .NET desde cero, si no ya verás como al final vamos a tener el mismo jaleo de APIs que con Win32).

  3. Oyes Rafael, el gallifante ese no vale, porque quitando a Vicky el Vikingo, todos los gallifantes son iguales… asi que apenas le das oportunidad a Rodrigo a elegir el que quiera… 😀

  4. jjajajjajaj…. Rafa… no te me sientas dolido ¿eh? 😉
    Siempre es con cariño!!!! Pero tio tienes mucha mala suerte con los bugs… los pillas todos. Eres como mis sobrinos… que pillan todo lo que pasa por su lado…

  5. Rodri, dolido no, pero me repatea mucho que me niegues cosas que son evidentes, si a ti no te pasan eso que te ganas. Está bien que defiendas a capa y espada al .NET, pero también tenemos que reconocer sus fallos y problemas.

    Yo también soy un forofo del .NET, y me encanta la idea y todo lo que supone, y es por eso por lo que me quejo y rabio públicamente, para conseguir que lo que es una gran idea se convierta en LA gran idea.

    Cansado del «not repro», «by design», «solved in next version», «not to be solved», parece ser que la mejor opción es la rabieta pública y sacar los colores a quien quiera que esté detrás de todo esto (y parece ser que estos foros les pican a base de bien, y te agradezco el hueco que me has hecho aquí – por otro lado, con sólo decírmelo también me iré).

    Por otro lado no es lo mismo guardar cuatro cadenas con SQL, hacer un menú, usar una grilla y poner tres bucles que realizar tareas intensivas con gráficos, cálculos y poner a prueba el sistema de hilos etc. Quizás sea el único tonto que esté usando el .NET para aplicativos de sistemas y verticales, pero la ganancia de tiempo es enorme frente a otras opciones (tanto Windows como linux, aunque de este mejor no hablar). Y de momento todo lo que he hecho han sido programas «juguete», espérate que tenga que hacer algo serio de verdad.

Responder a rcorral Cancelar respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *