/// <summary> /// 縦横位置を指定して矩形領域内に文字を描画する。 /// </summary> public void DrawStringHelper(Graphics g, global::System.Drawing.Font font, Brush brush, HPosition hPos, VPosition vPos) { PointF drawpos = new PointF(0,0); if( hPos == HPosition.Left && vPos == VPosition.Top ) { g.DrawString(drawString, font, global::System.Drawing.Brushes.Black, drawpos ); return; } SizeF strsize = g.MeasureString( drawString, font ); if( hPos == HPosition.Right ) drawpos.X = width - strsize.Width -1; else if( hPos == HPosition.Center ) drawpos.X = (width - strsize.Width) / 2; if( vPos == VPosition.Bottom ) drawpos.Y = height - strsize.Height -1; else if( vPos == VPosition.Middle ) drawpos.Y = (height - strsize.Height) / 2; g.DrawString(drawString, font, brush, drawpos); }
/// <summary> /// 縦横位置を指定して矩形領域内に文字を描画する。 /// </summary> public void DrawStringHelper(Graphics g, global::System.Drawing.Font font, Brush brush, HPosition hPos, VPosition vPos) { PointF drawpos = new PointF(0, 0); if (hPos == HPosition.Left && vPos == VPosition.Top) { g.DrawString(drawString, font, global::System.Drawing.Brushes.Black, drawpos); return; } SizeF strsize = g.MeasureString(drawString, font); if (hPos == HPosition.Right) { drawpos.X = width - strsize.Width - 1; } else if (hPos == HPosition.Center) { drawpos.X = (width - strsize.Width) / 2; } if (vPos == VPosition.Bottom) { drawpos.Y = height - strsize.Height - 1; } else if (vPos == VPosition.Middle) { drawpos.Y = (height - strsize.Height) / 2; } g.DrawString(drawString, font, brush, drawpos); }