CLR: .Net / Mono / Boo / Otros CLR > C#
dibujar cuadro con texto Drawing2D
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
[#] Página Siguiente
Ir a la versión completa