SoloCodigo

CLR: .Net / Mono / Boo / Otros CLR => C# => Mensaje iniciado por: Juanpad en Jueves 2 de Septiembre de 2010, 01:43

Título: dibujar cuadro con texto Drawing2D
Publicado por: Juanpad en Jueves 2 de Septiembre de 2010, 01:43
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....  
Título: Re: dibujar cuadro con texto Drawing2D
Publicado por: FernandaUY en Lunes 6 de Septiembre de 2010, 04:50
Podría ser algo así

Código: C#
  1.       public void Cuadro()
  2.       {
  3.          Brush oSolidBrush = new LinearGradientBrush(new Rectangle(_Izquierda,_Arriba,_Ancho,_Altura),_ColorRelleno,Color.White,45,false);
  4.          Pen oPen = new Pen(_ColorBorde, _AnchoBorde);
  5.  
  6.          // Dibuja el área
  7.          _Area.FillRectangle(oSolidBrush, _Izquierda, _Arriba, _Ancho, _Altura);
  8.  
  9.          // Dibuja el borde
  10.          _Area.DrawRectangle(oPen, _Izquierda, _Arriba, _Ancho, _Altura);
  11.  
  12.          // Dibuja el texto centrado en el cuadro
  13.          s = "Texto a dibujar";
  14.  
  15.          // if text empty not draw
  16.                if (String.IsNullOrEmpty(s))
  17.                   return;
  18.  
  19.                // Calculate text position
  20.                sizeText = _Area.MeasureString(s, _shapeFont);
  21.                textX = Math.Min(pStart.X, pEnd.X) + (Math.Abs(pStart.X - pEnd.X) / 2) - (sizeText.Width / 2);
  22.                textY = Math.Min(pStart.Y, pEnd.Y) + (Math.Abs(pStart.Y - pEnd.Y) / 2) - (sizeText.Height / 2);
  23.  
  24.                // Draw text
  25.                _Area.DrawString(s, _shapeFont, _shapeFontColorSolidBrush, textX, textY);
  26.       }
  27.  
Título: Re: dibujar cuadro con texto Drawing2D
Publicado por: Juanpad en Martes 7 de Septiembre de 2010, 21:34
Cita de: "FernandaUY"
Podría ser algo así

Código: C#
  1.       public void Cuadro()
  2.       {
  3.          Brush oSolidBrush = new LinearGradientBrush(new Rectangle(_Izquierda,_Arriba,_Ancho,_Altura),_ColorRelleno,Color.White,45,false);
  4.          Pen oPen = new Pen(_ColorBorde, _AnchoBorde);
  5.  
  6.          // Dibuja el área
  7.          _Area.FillRectangle(oSolidBrush, _Izquierda, _Arriba, _Ancho, _Altura);
  8.  
  9.          // Dibuja el borde
  10.          _Area.DrawRectangle(oPen, _Izquierda, _Arriba, _Ancho, _Altura);
  11.  
  12.          // Dibuja el texto centrado en el cuadro
  13.          s = "Texto a dibujar";
  14.  
  15.          // if text empty not draw
  16.                if (String.IsNullOrEmpty(s))
  17.                   return;
  18.  
  19.                // Calculate text position
  20.                sizeText = _Area.MeasureString(s, _shapeFont);
  21.                textX = Math.Min(pStart.X, pEnd.X) + (Math.Abs(pStart.X - pEnd.X) / 2) - (sizeText.Width / 2);
  22.                textY = Math.Min(pStart.Y, pEnd.Y) + (Math.Abs(pStart.Y - pEnd.Y) / 2) - (sizeText.Height / 2);
  23.  
  24.                // Draw text
  25.                _Area.DrawString(s, _shapeFont, _shapeFontColorSolidBrush, textX, textY);
  26.       }
  27.  

ok, de ante mano gracias por tu tiempo... probare tu aporte haber si me resulta. Pero muchas gracias :D   :rolleyes:
Título: Re: dibujar cuadro con texto Drawing2D
Publicado por: Juanpad en Martes 7 de Septiembre de 2010, 21:58
tengo que hacer todo esto en POO, Y NO ESTOY MUY FAMILIARIZADO.  :wacko:  :comp:   :comp:  :ouch:
Título: Re: dibujar cuadro con texto Drawing2D
Publicado por: morringos en Domingo 12 de Septiembre de 2010, 19:50
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!;  ^_^
Título: Re: dibujar cuadro con texto Drawing2D
Publicado por: Juanpad en Lunes 13 de Septiembre de 2010, 23:58
ok gracias por la ayuda con el libro(os) los buscare haber en que me sirven... gracias saludos colegas y buen dia.... :D  :P  B)  :rolleyes:  :comp:  :comp:  :comp:  :comp:  :wacko:  :hitcomp: