CLR: .Net / Mono / Boo / Otros CLR > C#

 dibujar cuadro con texto Drawing2D

(1/2) > >>

Juanpad:
HOLA a todos queria realizar una consulta, la cual seria quiero dibujar un cuadro usando System.Drawing y System.Drawing.Drawing2D y queria saber una manera de como agregarle texto a ese cuadro despues de dibujado algo asi como:

PRIMERO: DIBUJO EL CUADRO
SEGUNDO: LE AGREGO TEXTO
       ---------------------------------------
       I            Persona                        I
       I--------------------------------------I
       I            ttttttttttt                      I
       L___________________________I

ALGO ASI como los cuadros que se utilizan en rational rose para declarar una clase.... asi debe quedar similar

obvio lineas continuas, todo esto debo hacerlo en Visual .NET C#    

MUCHAS GRACIAS POR LA ATENCION DE CUALQUIERA QUE ME AYUDE....  

FernandaUY:
Podría ser algo así


--- Código: C# ---      public void Cuadro()      {         Brush oSolidBrush = new LinearGradientBrush(new Rectangle(_Izquierda,_Arriba,_Ancho,_Altura),_ColorRelleno,Color.White,45,false);         Pen oPen = new Pen(_ColorBorde, _AnchoBorde);          // Dibuja el área         _Area.FillRectangle(oSolidBrush, _Izquierda, _Arriba, _Ancho, _Altura);          // Dibuja el borde         _Area.DrawRectangle(oPen, _Izquierda, _Arriba, _Ancho, _Altura);          // Dibuja el texto centrado en el cuadro         s = "Texto a dibujar";          // if text empty not draw               if (String.IsNullOrEmpty(s))                  return;                // Calculate text position               sizeText = _Area.MeasureString(s, _shapeFont);               textX = Math.Min(pStart.X, pEnd.X) + (Math.Abs(pStart.X - pEnd.X) / 2) - (sizeText.Width / 2);               textY = Math.Min(pStart.Y, pEnd.Y) + (Math.Abs(pStart.Y - pEnd.Y) / 2) - (sizeText.Height / 2);                // Draw text               _Area.DrawString(s, _shapeFont, _shapeFontColorSolidBrush, textX, textY);      } 

Juanpad:

--- Cita de: "FernandaUY" ---Podría ser algo así


--- Código: C# ---      public void Cuadro()      {         Brush oSolidBrush = new LinearGradientBrush(new Rectangle(_Izquierda,_Arriba,_Ancho,_Altura),_ColorRelleno,Color.White,45,false);         Pen oPen = new Pen(_ColorBorde, _AnchoBorde);          // Dibuja el área         _Area.FillRectangle(oSolidBrush, _Izquierda, _Arriba, _Ancho, _Altura);          // Dibuja el borde         _Area.DrawRectangle(oPen, _Izquierda, _Arriba, _Ancho, _Altura);          // Dibuja el texto centrado en el cuadro         s = "Texto a dibujar";          // if text empty not draw               if (String.IsNullOrEmpty(s))                  return;                // Calculate text position               sizeText = _Area.MeasureString(s, _shapeFont);               textX = Math.Min(pStart.X, pEnd.X) + (Math.Abs(pStart.X - pEnd.X) / 2) - (sizeText.Width / 2);               textY = Math.Min(pStart.Y, pEnd.Y) + (Math.Abs(pStart.Y - pEnd.Y) / 2) - (sizeText.Height / 2);                // Draw text               _Area.DrawString(s, _shapeFont, _shapeFontColorSolidBrush, textX, textY);      } 
--- Fin de la cita ---

ok, de ante mano gracias por tu tiempo... probare tu aporte haber si me resulta. Pero muchas gracias :D   :rolleyes:

Juanpad:
tengo que hacer todo esto en POO, Y NO ESTOY MUY FAMILIARIZADO.  :wacko:  :comp:   :comp:  :ouch:

morringos:
Si no estás muy familiarizado con esto de la POO, te recomiendo el libro de "Enciclopedia de Visual C#" de Francisco Javier Ceballos, 2da edición.
Si tienes dinero, te puedes comprar el de C# 2008 de Deitel, pero como te digo, si tienes dinero.
Si no tienes nada de dinero pero sabes Inglés, hay varios ebooks gratuitos en Inglés, como está el de Beginning C# 2010 y Visual C# 2010 step by step.

Yo también soy algo nuevo en programación y de buenas a primeras me cuesta un poco de trabajo entenderle a esto de la POO.

Saludos bro!;
Morringos Phyps!;  ^_^

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa