none
System.Windows.Forms.Label.Text con caracteres en subíndices y/o superíndice RRS feed

  • Pregunta

  • Necesito mostrar en un formulario como etiqueta de un campo nombres de campo que contengan caracteres en subíndice y superíndice como en el siguiente ejemplo:

     

    SO42

     

    Estoy desarrollando una base de datos para la captura del resultado de analíticas realizadas al agua y tengo muchos campos con nombres de este tipo.

     

    He conseguido mediante la aplicación Mapa de Caracteres de Windows  el 2 en superíndice, pero no encuentro como escribir el 4 subíndice.

     

    ¿Alguien puede darme alguna pista para utilizar caracteres en subíndice o superíndice en la propiedad Text de un System.Windows.Forms.Label?

     

     

    sábado, 15 de diciembre de 2007 9:47

Todas las respuestas

  • Con un Label creo que es imposible si no existe el caracter adecuado, a no ser que uses el evento Paint y lo pintes tu a mano.

     

    Es decir, cuando se dispare el evento Paint, coges la cadena y la imprimes como quieras siempre y cuando guardes la metainformación adecuada, por ejemplo, en el ejemplo que pones, pues la cadena podría contener

     

    SO2<4>, de forma que a la hora de pintar, si un caracter viene seguido de un < es que es un subíndice y justo al revés con el cuatro.

     

    Así, dentro del evento Paint, en un bucle y tras obtener la superficie de pintado y sus dimensiones, puedes ir pintando caracter a caracter y si es un sub o super, pues disminuir la fuente y subirlo o bajarlo.

     

    Tan sólo es una idea.
    sábado, 15 de diciembre de 2007 15:21
  • Gracias por tu idea. Tendría que hacer pruebas para ver si soy capaz de implementar algo a base de Paint.

     

    Al principio de tu respuesta me dices que con Label no. ¿Quieres decir que habría otro control que permitiría añadir caracteres en superindice y subíndice sin estos problemas?

    domingo, 16 de diciembre de 2007 10:34
  • Hola.

    Con un RichEdit creo que podrías hacerlo, pero se trata de un campo de edición bastante complejo y que consume mucha memoria, pero puesto como de sólo lectura podría funcionarte.

    PS: Perdona la tardanza en responder, pero esto de los foros web no es que funcionen muy bien y a veces me tiro semanas sin poder entrar ni responder...
    jueves, 27 de diciembre de 2007 11:16
  • Podrías implementar  un usercontrol con tres label, de tamaños distintos y posición y representar el valor.

     

    viernes, 4 de enero de 2008 15:31
  • Gracias por las sugerencias. Trataré de aprovecharlas.

     

    Como puedo ver no es un tema simple. Todas las opciones requieren unos conocimientoes que por el momento no tengo. Espero finalizar la aplicación y par ala segunda versión trataré de implementar las opciones que me habeís sugerido.

    sábado, 5 de enero de 2008 18:55