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); }