我想在进度条上对齐动态文字。
这是代码
using (var sf = new StringFormat()
{
Alignment = StringAlignment.Center,
LineAlignment = StringAlignment.Center,
}
)
progressBar1.CreateGraphics()
.DrawString(message, new Font("Arial", (float)8.25, FontStyle.Regular), Brushes.Black, new Rectangle(0, 0, 600, 480), sf);
值600,480
是我的应用程序的大小。
我的进度条位置为0,430
进度条尺寸为600,11
有人可以帮助我吗?
答案 0 :(得分:0)
用它来衡量字符串的大小:Graphics.MeasureString
然后使用这个简单的公式:
containerWidth // width in pixels of the container
textWidth // width of your string in pixels
margin = (containerWidth - textWidth) / 2;
您必须将margin
像素左侧的文字偏移。
答案 1 :(得分:0)
using (var sf = new StringFormat()
{
Alignment = StringAlignment.Center,
LineAlignment = StringAlignment.Center,
})
{
progressBar1.CreateGraphics()
.DrawString(message,
new Font("Arial",
(float) 20, FontStyle.Regular),
Brushes.Black,
new Rectangle(0, 0, 600, 480), sf);
}